Visual C 中的資料繫結 1

2022-08-25 00:18:12 字數 3153 閱讀 4257

visual c#自身沒有類庫,和其他的.net開發語言一樣,visual c#呼叫的類庫是.net框架中的乙個共有的類庫--.net framework sdk。ado.net是.net framework sdk提供給.net開發語言進行資料庫開發的乙個系列類庫的集合。在ado.net中雖然提供了大量的用於資料庫連線、資料處理的類庫,但卻沒有提供類 似dbtext元件、dblist元件、dblable元件、dbcombox元件等。要想把資料記錄以combox、listbox等形式顯示處理,使 用資料繫結技術是最為方便、最為直接的方法。所謂資料繫結技術就是把已經開啟的資料集中某個或者某些字段繫結到元件的某些屬性上面的一種技術。說的具體 些,就是把已經開啟資料的某個或者某些字段繫結到text元件、listbox元件、combox等元件上的能夠顯示資料的屬性上面。當對元件完成資料綁 定後,其顯示欄位的內容將隨著資料記錄指標的變化而變化。這樣程式設計師就可以定製資料顯示方式和內容,從而為以後的資料處理作好準備。所以說資料繫結是 visual c#進行資料庫方面程式設計的基礎和最為重要的第一步。只有掌握了資料繫結方法,才可以十分方便對已經開啟的資料集中的記錄進行瀏覽、刪除、插入等具體的資料 操作、處理。

資料繫結根據不同元件可以分為二種,一種是簡單型的資料繫結,另外一種就是複雜型的資料繫結。所謂簡單型的資料繫結就是繫結後組 件顯示出來的字段只是單個記錄,這種繫結一般使用在顯示單個值的元件上,譬如:textbox元件和label元件。而複雜型的資料繫結就是繫結後的元件 顯示出來的字段是多個記錄,這種繫結一般使用在顯示多個值的元件上,譬如:combox元件、listbox元件等。本文就是來詳細介紹如何用 visual c#實現這二種繫結。在資料庫的選擇上,為了使內容更加全面,採用了當下比較流行的二種資料庫,一種是本地資料庫acess 2000,另外一種是遠端資料庫sql server 2000。 

一、本文程式設計和執行的軟體環境

(1)微軟公司視窗2000伺服器版

(2).net framework sdk beta 2

(3)madc 2.6(microsoft acess data component)以上版本

二、程式中使用的資料庫的資料字典

(1)本地資料庫access 2000的資料庫的名稱為"db.mdb",在這個資料庫中定義了一張表"person"。這張表的資料結構如下表:

欄位名稱

字段型別

字段意思

id數字

序號 xm

文字姓名

xb文字性別

nl文字年齡

zip文字(2)遠端資料庫sql server 2000的資料庫伺服器名稱為"server1",資料庫名稱為"data1",登陸的id為"sa",口令為空,在資料庫也定義了一張"person"表,資料結構如上表。

三、資料繫結一般步驟

(一)無論是簡單型的資料繫結,還是複雜型的資料繫結,要實現繫結的第一步就是就是要連線資料庫,得到可以操作的dataset。下面二段**是分別連線access 2000和sql server 2000資料庫,並獲得dataset。

(1)連線access 2000,得到dataset:

//建立乙個 oledbconnection 

string strcon = " provider = microsoft.jet.oledb.4.0 ; data source = db.mdb" ;

oledbconnection myconn = new oledbconnection ( strcon ) ;

string strcom = " select * from person " ;

file://建立乙個 dataset

mydataset = new dataset ( ) ;

myconn.open ( ) ;

file://用 oledbdataadapter 得到乙個資料集

oledbdataadapter mycommand = new oledbdataadapter ( strcom , myconn ) ;

file://把dataset繫結person資料表

mycommand.fill ( mydataset , "person" ) ;

file://關閉此oledbconnection

myconn.close ( ) ;

(2)連線sql server 2000,得到dataset:

// 設定資料連線字串,此字串的意思是開啟sql server資料庫,
伺服器名稱為server1,資料庫為data1 

string strcon = "provider = sqloledb.1 ; persist security info = false ;

user id = sa ; initial catalog = data1 ; data source = server1 " ; 

oledbconnection myconn = new oledbconnection ( strcon ) ;

myconn.open ( ) ;

string strcom = " select * from person " ;

file://建立乙個 dataset

mydataset = new dataset ( ) ;

file://用 oledbdataadapter 得到乙個資料集

oledbdataadapter mycommand = new oledbdataadapter ( strcom , myconn ) ;

file://把dataset繫結person資料表

mycommand.fill ( mydataset , " person " ) ;

file://關閉此oledbconnection

myconn.close ( ) ;

(二)根據不同元件,採用不同的資料繫結:

對於簡單型的資料繫結,資料繫結的方法其實比較簡單,在得到資料集以後,一般是通過把資料集中 的某個字段繫結到元件的顯示屬性上面,譬如textbox元件和label元件,是繫結到"text"屬性。對於複雜型的資料繫結一般是通過設定其某些屬 性值來實現繫結的。這些下面將會具體介紹。

Visual C 中的資料繫結

我們知道在由於visual c 自身沒有類庫,和其他的.net開發語言一樣,visual c 呼叫的類庫是.net框架中的乙個共有的類庫 net framework sdk。ado.net是.net framework sdk提供給.net開發語言進行資料庫開發的乙個系列類庫的集合。在ado.net...

Visual C 中的(Label)資料繫結

2 label元件的資料繫結 在掌握了textbox元件資料繫結以後,可以十分方便的得到label元件的資料繫結方法,因為這二者實現的方法實在是太相似了。下列語句是把得到資料集的 xm 字段繫結到label元件的 text 屬性上 label1.databindings.add text mydat...

Visual C 中實現窗體間的資料傳遞 1

乙個稍微複雜一點的程式一般都有二個或者更多的窗體。有時在程式設計中,資料不僅要在同乙個窗體中傳遞,還要在窗體間傳遞,這種傳遞是主窗體與從窗體之間資料的互相傳遞。從本文開始,我們將列舉不同窗體間資料傳遞的四種情況,和用visual c 實現這四種情況的具體方法。下面先介紹用visual c 實現窗體間...