请教,我在进行datagrid控件显示ado的表,如何通过选择datagrid的行删除和修改该行记录,谢谢拉!

Tom010 2004-11-01 09:58:38
请教,我在进行datagrid控件显示ado的表,如何通过选择datagrid的行删除和修改该行记录,谢谢拉!最好能贴个示范代码!!感谢!!
...全文
66 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tom010 2004-11-02
我现在遇到的问题是:若自己用AddNew方法添加数据到数据表里,然后再用rs.delete删除时,报错,说我没有定位到哪一行,而我明明在datagrid1定位了某行。然后他就把所有的数据都删除了 ,但是奇怪的是我要是用已经生成好的表,删除没有问题,请问这是为什么啊,谢谢!
回复
simonlee2003 2004-11-02
莫姐的方法也是对的 把打datagrid的allowupdate = true 也可

但是容易发生误操作
回复
simonlee2003 2004-11-02
Set rsxian = New ADODB.Recordset
Set rs = New ADODB.Recordset

con.ConnectionString = "Provider=SQLOLEDB.1;Password=june1234;Persist Security Info=True;User ID=sa;Initial Catalog=mrmt;Data Source=N091"
con.CursorLocation = adUseClient
con.Open

rs.Open "delete from dz where bianhao ='" & DataGrid1.Columns(0).Text & "'", con,1,1

rsxian.Open "select * from dz", con, 1,1
Set dzcf.DataGrid2.DataSource = rsxian
回复
daisy8675 2004-11-02
Option Explicit

Private Rs As New ADODB.Recordset
Private Conn As New ADODB.Connection

Private 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

'---修改:直接在datagrid上面就能够修改的,不用再写上其他的代码
'---删除:Rs.Delete


回复
orsharp 2004-11-02
要代码判断用户选定的行吧 然后执行相应的操作,直接绑定修改操作 麻烦死了!强烈推荐用代码来完成 用户操作实在不方便,容易出错!
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告