我們知道在由於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"。這張表的資料結構如下表:
(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"屬性。對於複雜型的資料繫結一般是通過設定其某些屬性值來實現繫結的。這些下面將會具體介紹。
四.簡單型元件的資料繫結:
(1).textbox元件的資料繫結:
通過下列語句就可以把資料集(即為:mydataset)的某個字段繫結到textbox元件的"text"屬性上面了:
textbox1.databindings.add ( "text" , mydataset , "person.xm" ) ;
注釋:此時繫結是access 2000資料庫中"person"表的"xm"字段。
由此可以得到繫結textbox元件的源程式**(textbox01.cs),下列**操作的資料庫是access 2000,如下:
Visual C 中的(Label)資料繫結
2 label元件的資料繫結 在掌握了textbox元件資料繫結以後,可以十分方便的得到label元件的資料繫結方法,因為這二者實現的方法實在是太相似了。下列語句是把得到資料集的 xm 字段繫結到label元件的 text 屬性上 label1.databindings.add text mydat...
Visual C 中的資料繫結 1
visual c 自身沒有類庫,和其他的.net開發語言一樣,visual c 呼叫的類庫是.net框架中的乙個共有的類庫 net framework sdk。ado.net是.net framework sdk提供給.net開發語言進行資料庫開發的乙個系列類庫的集合。在ado.net中雖然提供了大...
Visual C 中的斷言
斷言語句指定在程式的某些特定點應為真的條件。如果該條件不為真,則斷言失敗,中斷程式的執行,並顯示 斷言失敗 對話方塊。visual c 支援基於下列構造的斷言語句 mfc 程式的 mfc 斷言。使用 atl 的程式的 atlassert。使用 c 執行時庫的程式的 crt 斷言。其他 c c 程式的...