ADO问题! 是不是用ADO连接的只能添加记录,不能修改记录,如果可以的话要怎么做,请说的详细点我不怎么会用ADO,但是客户又要求一定要ADO来连接,真是的!谢谢啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 都可以的,看看MSDN的例子吧,现成的 rs.fields(0)=""rs.fields(1)=""……rs.update 谁说不能修改记录了?????Private Rs As New ADODB.RecordsetPrivate Conn As New ADODB.ConnectionPrivate Sub Form_Load() Dim strConn As String ' 连接数据库的字符串 ' 连接带密码的数据库,直接在连接符后面加上Jet OLEDB:DataBase Password='您的密码' ' 连接Access97数据库需要使用Jet.OLEDB.3.5,Access2K和以上数据库使用Jet.OLEDB.4.0 strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False" ' 使用客户端数据游标 Conn.CursorLocation = adUseClient ' 打开Access的连接 Conn.Open strConn ' 如果RecordSet的状态不是关闭状态,则关闭Recordset If Rs.State <> adStateClosed Then Rs.Close ' Recordser打开表People Rs.Open "Select * from People", Conn, adOpenKeyset, adLockOptimistic ' 报告出 一共多少笔数据,测试是否存在数据 ' MsgBox Rs.RecordCount ' 绑定进DataGrid Set DataGrid1.DataSource = Rs End Sub//// ' Recordser打开表People Rs.Open "Select * from People", Conn, adOpenKeyset, adLockOptimistic打开记录是否修改只和COnn后面的打开方式有关系,楼主不懂得ADO就学习下去。 conn.execute "update ........." 打开 Recordset 之前先设置 LockType 属性,以指定提供者打开它时使用的锁定类型。读取该属性以返回打开的 Recordset 对象中使用的锁定类型。供者可能不支持所有锁定类型。如果提供者不支持请求的 LockType 设置,则替换为另一种锁定类型。若要确定 Recordset 对象中实际可用的锁定功能,将soppurts 方法与 adUpdate 和 adUpdateBatch 一起使用。如果 CursorLocation 属性设置为 adUseClient,则不支持 adLockPessimistic 设置。如果设置了不支持的值,将不产生错误,而使用所支持的最相近的 LockType。LockType 属性在 Recordset 关闭时为读/写,而在 Recordset 打开时为只读。锁定类型种类(LockType 属性):1.adLockBatchOptimistic指示开放式批更新。需要批更新模式。许多应用程序都一次提取多行,然后需要进行相应的更新,这些更新包括所有需要插入、更新或删除的行的完整集合。使用批游标只需一次往返服务器,因而导致更新性能的提高和网络通信量的降低。使用批游标库可创建静态游标,然后断开到数据源的连接。这时就可以对行进行更改,然后重新连接到数据源并将更改以批的形式发布到数据源。2.adLockOptimistic提供者使用开放式锁定,仅在调用 Update 方法时锁定记录。这意味着另一个用户有可能会利用您编辑记录和调用 Update 的时间间隔更改数据,这就会引起冲突。而使用此锁定类型时发生冲突的几率很低,即使发生了冲突也会很快得到解决。3.adLockPessimistic指示逐个记录保守式锁定。提供者要确保记录编辑成功,通常在编辑之前立即在数据源锁定记录。当然,这意味着一旦您开始编辑记录,这些记录就会对其他用户不可用,知道您通过调用 Update 释放锁定。如果您的系统不提供对数据的并发更改,例如预定系统,那么可使用此锁定类型。4.adLockReadOnly指示只读记录。无法改变数据。只读锁定是速度“最快”的锁定类型,因为它不要求服务器保持对记录的锁定。冲突5.adLockUnspecified未指定锁定类型。 listview中如何才能不默认选定一个项目 怎样才能对一个按住不放的按钮编程呢 求助:在注册表中加一个项,比如自动加载odbc的一项(急) 寻到以前注册的MJ,有8120分,高兴,特散! 我想在imgedit控件上画线 难道crystalreport就这么弱吗?我不信,请各位高人帮忙. 如何把两个recordset记录合并成一个recordset 关于控制框的问题 VB6在打包的时候如何把相关的文件都打进去?所有要用的dll文件 vb中查询sqlsever 如何保证程序运行时系统的日期格式不能被修改 怎么用vb.net实现打印默认为横打?
rs.fields(1)=""
……
rs.update
Private Rs As New ADODB.Recordset
Private Conn As New ADODB.ConnectionPrivate Sub Form_Load()
Dim strConn As String
' 连接数据库的字符串
' 连接带密码的数据库,直接在连接符后面加上Jet OLEDB:DataBase Password='您的密码'
' 连接Access97数据库需要使用Jet.OLEDB.3.5,Access2K和以上数据库使用Jet.OLEDB.4.0
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False"
' 使用客户端数据游标
Conn.CursorLocation = adUseClient
' 打开Access的连接
Conn.Open strConn
' 如果RecordSet的状态不是关闭状态,则关闭Recordset
If Rs.State <> adStateClosed Then Rs.Close
' Recordser打开表People
Rs.Open "Select * from People", Conn, adOpenKeyset, adLockOptimistic
' 报告出 一共多少笔数据,测试是否存在数据
' MsgBox Rs.RecordCount
' 绑定进DataGrid
Set DataGrid1.DataSource = Rs
End Sub////
' Recordser打开表People
Rs.Open "Select * from People", Conn, adOpenKeyset, adLockOptimistic
打开记录是否修改只和COnn后面的打开方式有关系,楼主不懂得ADO就学习下去。
供者可能不支持所有锁定类型。如果提供者不支持请求的 LockType 设置,则替换为另一种锁定类型。若要确定 Recordset 对象中实际可用的锁定功能,将soppurts 方法与 adUpdate 和 adUpdateBatch 一起使用。
如果 CursorLocation 属性设置为 adUseClient,则不支持 adLockPessimistic 设置。如果设置了不支持的值,将不产生错误,而使用所支持的最相近的 LockType。
LockType 属性在 Recordset 关闭时为读/写,而在 Recordset 打开时为只读。
锁定类型种类(LockType 属性):
1.adLockBatchOptimistic
指示开放式批更新。需要批更新模式。许多应用程序都一次提取多行,然后需要进行相应的更新,这些更新包括所有需要插入、更新或删除的行的完整集合。使用批游标只需一次往返服务器,因而导致更新性能的提高和网络通信量的降低。使用批游标库可创建静态游标,然后断开到数据源的连接。这时就可以对行进行更改,然后重新连接到数据源并将更改以批的形式发布到数据源。2.adLockOptimistic
提供者使用开放式锁定,仅在调用 Update 方法时锁定记录。这意味着另一个用户有可能会利用您编辑记录和调用 Update 的时间间隔更改数据,这就会引起冲突。而使用此锁定类型时发生冲突的几率很低,即使发生了冲突也会很快得到解决。3.adLockPessimistic
指示逐个记录保守式锁定。提供者要确保记录编辑成功,通常在编辑之前立即在数据源锁定记录。当然,这意味着一旦您开始编辑记录,这些记录就会对其他用户不可用,知道您通过调用 Update 释放锁定。如果您的系统不提供对数据的并发更改,例如预定系统,那么可使用此锁定类型。4.adLockReadOnly
指示只读记录。无法改变数据。只读锁定是速度“最快”的锁定类型,因为它不要求服务器保持对记录的锁定。冲突5.adLockUnspecified
未指定锁定类型。