VB.net 中 ADODB的RecordSet 的使用实例说明

首先需要引用:

ado

VB ADODB中的RecordSet.Open打开记录的两个参数adOpenKeyset、adLockBatchOptimistic的详细说明:

这两个参数当时弄明白,过后又忘记了,做了笔记,但为了方便,还是在Blog中也做上这个笔记。

缺省值1 adLockReadOnly RecordSet对象以只读方式启动,无法运行增、删、改等操作

2 adLockPRSSimistic 当数据源正在更新时,系统会锁定其他用户的动作,以保数据一致性。

3 adLockOptimistic 当数据源正在更新时,系统不会锁定其他用户的动作,其他用户可以对数据进行增、删、改操作。

4 adLockBatchOptimistic 当数据源正在更新时,其他用户必须将CursorLocation改为adUdeClientBatch才能对数据进行增、删、改的操作。

认值0 adOpenForwardOnly 使用仅向前游标。除了在记录中只能向前滚动外,与静态游标相同。当只需要在 Recordset 中进行一个传递时,用它可提高性能

1 adOpenKeyset 使用键集游标。尽管从您的 Recordset 不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,它和动态游标相似。其他用户所做的数据更改依然可见。

2 adOpenDynamic 使用动态游标。其他用户所做的添加、更改或删除均可见,而且允许 Recordset 中的所有移动类型(如果提供者不支持书签,则书签除外)。

3 adOpenStatic 使用静态游标。一组记录的静态副本,可用于查找数据或生成报告。其他用户所做的添加、更改或删除不可见。

-1 adOpenUnspecified 不指定游标类型

-----------------------------------------------------------------------------------------------------

Private conn As New ADODB.Connection
Dim rc As New ADODB.Recordset
Dim Query As New System.Text.StringBuilder

'データ登録
'rc.Open("select * from tablename",conn,1,3) 等同于一下参数
rc.Open("select * from tablename",ADODB.CursorTypeEnum.adOpenKeyset,ADODB.LockTypeEnum.adLockOptimistic)
With rc
.AddNew()
.Fields("f1").Value = "a"
.Fields("f2").Value = "b"
.Fields("f3").Value = "c"
.Update()
End With
rc.Close()

'データ検索
Dim select_rc As New ADODB.Recordset

'Rs.Open sqlstr,Conn,3,2
select_rc.Open("select * from tablename",conn)


'データ数量の判断
If Not Rec.EOF Then
'データない
With select_rc
'Todo...
End With
Else
  'データある

Set FrmIndex.DataGrid1.DataSource = Rs '绑定frmindex.datagrid1控件 'Rs.Close 关键所在,'执行完过程不能直接关了数据库否则不会有数据显示在Datagrid1中的 'Set Rs = nothing End If 'データ更新 Dim sex Dim score sex = Val(sextext.Text) score = Val(scoretext.Text) rs(0).Value = xuehaotext.Text rs(1).Value = nametext.Text rs(2).Value = sex rs(3).Value = score rs.Update() 'データ削除 rs.Delete()

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...