;
帖子
3919 
精华
积分
11710 
鱼币
0 ¥ 
来自
大连 
在线时间
1858 小时 
注册时间
2007-6-11 
最后登录
2009-10-20 

贴图大师勋章新人进步勋章宣传大使勋章论坛元老勋章

3
发表于 2009-1-5 19:48 | 只看该作者
鍦 ADO 鍜 ADO.NET 涓鐞嗙绾挎暟鎹 - 缂栫▼搴 - Powered by SupeSite

浣犵殑浣嶇疆锛缂栫▼搴 >> 璧勮 >> VB.NET >> ado.net >> 璇︾粏鍐呭 鍦ㄧ嚎鎶曠ǹ

鍦 ADO 鍜 ADO.NET 涓鐞嗙绾挎暟鎹

鍙戝竷: 2008-6-26 22:34 |  浣滆: admin |   鏌ョ湅: 13娆

銆銆鎮ㄥ彲浠ヤ娇鐢ㄦ棤鏁扮鏂规硶鍦 VB6 鍜 VB.NET 涓鐞嗘暟鎹傝繖涓や釜骞冲彴閮芥敮鎸佽濡傛暟缁勫拰闆嗗悎涔嬬被鐨勭粨鏋勶紝寮鍙戜汉鍛橀氬父灏嗚嚜瀹氫箟绫诲寘瑁呭埌杩欎簺缁撴瀯涓紝灏卞鎮ㄥ湪 Carl Ganz 2004 骞 3 鏈堢殑涓撴爮涓湅鍒扮殑閭f牱銆傛暟鎹嫭绔嬶紙杩欏彲鑳芥槸鍒涘缓鑷畾涔夋暟鎹娊璞″眰鐨勬渶澶т紭鍔匡級鍏佽鐢ㄦ埛鍦ㄧ嫭绔嬩簬鏁版嵁搴撶殑鎯呭喌涓嬫搷浣滄暟鎹傝繖涓嶄粎闄嶄綆浜嗘湇鍔″櫒鐨勮礋鎷咃紝杩樻秷闄や簡缁存姢鍒拌鏁版嵁搴撶殑寮鏀捐繛鎺ョ殑闇瑕侊紝鎴栨槸瀵瑰繕璁版洿鏂 RDBMS 鐨勬媴蹇冦傛湰鏈堬紝Carl 灏嗗垎鏋愬浣曞悓鏃朵娇鐢 ADO 鍜 ADO.NET 鏉ュ垱寤烘绫绘暟鎹璞°

銆銆

銆銆鍦 VB6 涓紝OLE DB 娓告爣鏈嶅姟鍏佽鎮ㄥ垱寤洪氬父浣滀负铏氭瀯鐨凴ecordset 鐨勫唴瀹广傝繖浜涘彧鏄 ADO Recordset 瀵硅薄鐨勫唴瀛樹腑瀹炰緥锛孎ield 瀵硅薄灏嗘坊鍔犲埌杩欎簺瀹炰緥涓互褰㈡垚涓涓暟鎹粨鏋勩傛偍闇瑕佹樉寮忓垱寤鸿繖浜 Recordset 瀹㈡埛绔紝濡傛竻鍗 1 涓墍绀猴紱榛樿鎯呭喌涓嬶紝瀹冧滑鏄湪鏈嶅姟鍣ㄧ鍒涘缓鐨勶紝鎮ㄥ湪鏈嶅姟鍣ㄤ笂涓嶈兘鏈夌绾 Recordset銆

銆銆

銆銆Set oRS = New ADODB.Recordset

銆銆oRS.CursorLocation = adUseClient

銆銆oRS.CursorType = adStatic

銆銆oRS.LockType = adLockBatchOptimistic

銆銆'Add a few fields

銆銆With oRS.Fields

銆銆.Append "LastName", adVarChar, 40, adFldIsNullable

銆銆.Append "FirstName", adVarChar, 40, adFldIsNullable

銆銆.Append "HireDate", adDate

銆銆End With

銆銆oRS.Open

銆銆

銆銆涓鏃﹀垱寤 Recordset锛屾偍灏卞彲浠ョ敤鏁版嵁濉厖瀹冧簡銆傝娉ㄦ剰锛孎ield 闆嗗悎鐨 Append 鏂规硶鍙兘鐢ㄤ簬鍏抽棴鐨 Recordset锛涘鏋滄偍鍦ㄦ墦寮 Recordset 鐨 Fields 闆嗗悎涓婃垨鏄凡璁剧疆 ActiveConnection 灞炴х殑 Recordset 涓婅皟鐢 Append锛屽氨浼氬鑷磋繍琛屾椂閿欒銆傛竻鍗 2 闃愰噴浜嗗浣曞皢鏁版嵁娣诲姞鍒 Recordset 瀵硅薄銆

銆銆

銆銆娓呭崟 2 涓殑鏈鍚庝袱琛屼唬鐮侀槓閲婁簡濡備綍鍒涘缓绱㈠紩锛屼互浣挎帓搴忔洿鍔犻珮鏁堛傦紙閫氬父锛屾偍搴旈氳繃涓涓彁渚涘垵濮嬫帓搴忕殑 SQL 鍛戒护鏉ュ姞杞芥绫绘暟鎹紝浣嗘槸濡傛灉鏁版嵁鍦ㄧ綉鏍间腑锛屾偍鍙兘甯屾湜鍏佽鐢ㄦ埛閫氳繃锛堟瘮濡傝锛夊崟鍑诲垪鏍囬鏉ユ帓搴忓畠銆傦級

銆銆

銆銆娓呭崟 2. 鐢ㄦ暟鎹~鍏 Recordset 瀵硅薄銆

銆銆

銆銆'Populate with some data

銆銆oRS.AddNew Array("LastName", "FirstName", "HireDate")_

銆銆, Array("Washington", "George", "3/12/2003")

銆銆oRS.AddNew Array("LastName", "FirstName", "HireDate")_

銆銆, Array("Adams", "John", "8/5/2003")

銆銆oRS.AddNew Array("LastName", "FirstName", "HireDate")_

銆銆, Array("Jefferson", "Thomas", "4/27/2003")

銆銆oRS.Update

銆銆'Create an in-memory index

銆銆oRS.Fields("LastName").Properties("Optimize").Value _

銆銆= True

銆銆'Sort on first name

銆銆oRS.Sort = "FirstName"

銆銆

銆銆鍒涘缓 Recordset 鐨勫彟涓绉嶆柟娉曟秹鍙婂埌绂荤嚎 Recordset銆傝繖鍙槸涓涓 Recordset 瀵硅薄锛屽畠闅忓悗灏嗚繛鎺ュ埌鐢变簬灏 ActiveConnection 灞炴ц缃负 Nothing 鑰岀绾跨殑鏈嶅姟鍣紙璇峰弬瑙佹竻鍗 3锛夈

銆銆

銆銆娓呭崟 3. 鍒涘缓绂荤嚎 Recordset銆

銆銆

銆銆Dim objConnection As ADODB.Connection

銆銆Dim szSQL As String

銆銆Set objConnection = New ADODB.Connection

銆銆'Open a connection

銆銆objConnection.ConnectionString = "whatever"

銆銆objConnection.Open

銆銆'Instantiate a Recordset object...

銆銆Set oRS = New ADODB.Recordset

銆銆oRS.CursorLocation = adUseClient

銆銆oRS.CursorType = adOpenStatic

銆銆oRS.LockType = adLockBatchOptimistic

銆銆'...and set the ActiveConnection property

銆銆Set oRS.ActiveConnection = objConnection

銆銆szSQL = "SELECT LastName, FirstName " & _

銆銆"FROM Employees " & "ORDER BY LastName, FirstName"

銆銆'Open the Recordset and return the employee data

銆銆oRS.Open szSQL

銆銆Set oRS.ActiveConnection = Nothing

銆銆objConnection.Close

銆銆Set DataGrid1.DataSource = oRS

銆銆

銆銆浣跨敤 ADO.NET

銆銆ADO.NET 涓虹绾挎暟鎹鐞嗘彁渚涗簡鏇村己澶х殑鍔熻兘銆侱ataTable 鍜 DataSet 瀵硅薄鏈韩灏卞畾涔変负绂荤嚎锛屽洜姝ゆ偍涓嶅繀鎵ц浠讳綍鎿嶄綔鏉ヤ娇瀹冧滑绂荤嚎銆備粠姒傚康涓婃潵璇达紝ADO.NET DataTable 瀵硅薄鍜 ADO Recordset 瀵硅薄鐨勭紪绋嬪垱寤鸿繃绋嬮潪甯哥被浼硷紝濡傛竻鍗 4 涓墍绀恒傚湪鏈ず渚嬩腑锛屾垜浠鍒涘缓涓涓 DataTable 瀵硅薄锛屽苟鍚戝叾娣诲姞鍒楀拰琛屽璞°傛濡傛偍灏嗙湅鍒扮殑閭f牱锛孉DO.NET 鐨勬柟娉曚娇鐢ㄤ簡涓涓瘮鍩轰簬 COM 鐨 ADO 鎵浣跨敤鐨勬洿鍔犲眰娆″寲鐨勫璞℃ā鍨嬨

銆銆

銆銆娓呭崟 4. 鍒涘缓 ADO.NET DataTable 瀵硅薄銆

銆銆

銆銆Dim oDataRow As DataRow

銆銆Dim oDataColumn As DataColum

鎵撳嵃 | 鏀惰棌姝ら〉 |  鎺ㄨ崘缁欏ソ鍙 | 涓炬姤
涓婁竴绡 涓嬩竴绡
 

璇勫垎锛0

鍙戣〃璇勮
鏌ョ湅鍏ㄩ儴鍥炲銆愬凡鏈0浣嶇綉鍙嬪彂琛ㄤ簡鐪嬫硶銆