新聞中心
ADO.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹ADO.NET Recordset對象,包括介紹CursorLocation屬性、UpdateBatch方法、Open方法等方面。CursorLocation屬性:指定記錄集的光標(biāo)位置,有adUseServer和adUseClient兩種。如果在connection對象連接前未指定游標(biāo),則必須在此設(shè)置。UpdateBatch方法:同時保存多條被更改的記錄。Open方法:建立1個記錄集。

創(chuàng)新互聯(lián)專注于蒼溪企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城開發(fā)。蒼溪網(wǎng)站建設(shè)公司,為蒼溪等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
#T#其中,Source即RecordSource參數(shù)可以是1個查詢、存儲過程名或表名等;或者1個Command對象變量名(此時要省略 ActiveConnection參數(shù),即為空),ActiveConnection參數(shù)指明該記錄集基于哪個Connection連接對象,這個連接對象必須是已建立的連接,當(dāng)沒有Connection對象時,該參數(shù)就直接指定一個ConnectionString連接串;Cursortype指明游標(biāo)類型,Locktype指明記錄鎖定方式(記錄集是否可修改/只讀),Options是說Source參數(shù)中內(nèi)容的類型,如表,存儲過程等,與 Command對象的Commandtype類似。
使用ADO.NET Recordset對象Open方法,不要事先建立Connection和Command對象,也可打開數(shù)據(jù)源——其實,它們?nèi)齻€對象本來就是平行的嘛,如:
- Dim rst As New ADODB.Recordset
- Private Sub Form_Load()
- Const cnStr = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=C:\工商所收費系統(tǒng)\MyDatabase.mdb"
- rst.Open "select * from Unitrecord", cnStr, adOpenDynamic, adLockOptimistic
- End Sub
只要這么幾句,就打開一個記錄集了。
ADO.NET Recordset對象Save方法:將記錄集存為1個文件。本方法不會關(guān)閉記錄集。該方法在記錄集建立后才能使用。在第1次使用該方法存儲記錄集后,如果需要往同一文件存儲同樣的記錄集,要省略文件名。我在使用ADO.NET Recordset對象時遇到1難題:竟沒用來!我在聲明段和Form_load事件中聲明了對象變量,也設(shè)置了connectionstring,open屬性,也給記錄集對象賦予了Execute方法得到的記錄,可是,記錄集對象不可用,如:(紅色代碼為修改后的正確寫法。)。
- Dim cn As ADODB.Connection
- Dim cmd As ADODB.Command
- Dim rst As ADODB.Recordset
- rivate Sub Form_Load()
- Set cn = New ADODB.Connection
- cn.ConnectionString = "FILE NAME=C:\WINDOWS\Desktop\Savelink.UDL"
- cn.CursorLocation=adUseClient
- cn.Open
- Set cmd = New ADODB.Command
- Set cmd.ActiveConnection = cn
- cmd.CommandText = "select * from sub1"
- Set rst = New ADODB.Recordset
- Set rst = cmd.Execute() ‘缺省情況下,記錄集為只讀,如果要修改記錄,需要設(shè)定記錄集的LockType屬性,或在記錄集對象的OPEN方法中一并設(shè)置。
- rst.Open "sub1", cn, adOpenDynamic, adLockOptimistic
- (注:第1個參數(shù)”sub1”也可采用1個command對象名,但那樣的話要省略后面cn,如下:
- rst.Open cmd, , adOpenDynamic, adLockOptimistic)
- Label2.Caption = "本過程共" & rst.RecordCount & "步。"
- rst . addnew
- rst(0) = "搞試驗"
- rst(1) = "我的實驗"
- rst.Update ‘這句不能丟!設(shè)為adLockOptimistic對記錄的修改不會自動進(jìn)行保存?。。?!
- End Sub
執(zhí)行到label2.caption=…rst.RecordCount…和rst . addnew時就出錯了,好象根本就沒有rst似的。
分享題目:淺析使用ADO.NETRecordset對象方法和屬性
標(biāo)題URL:http://www.dlmjj.cn/article/dhshphd.html


咨詢
建站咨詢
