请教VB6.0 中DataGrid 操作Access数据库的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教VB6.0 中DataGrid 操作Access数据库的问题相关的知识,希望对你有一定的参考价值。
VB6.0 我想直接在DataGrid 中进行增,删,改 操作 ,然后会直接保存到ACCESS
不知道该怎样写代码请高手教教我,我会再加分的
具体的操作是
1:添加ADODC控件
2:添加DATEGRID控件
3:设置ADODC1的连接字符串,指定ACCESS数据库(详细操作不用我说了吧)
4:设置ADODC1的RECORDSOURCE,一般指表名
5:设置DATEGRID的RECORDSOURCE为ADODC1
6:设置DATAGRID的允许的操作
7:在FORM_LOAD中写ADODC1.REFRESH就可以了
在所有数据控件中,我个人认为DATAGRID是最简单的. 参考技术B 如果只涉及到一个表的话,只要Set dataGrid1.DataSource = rs 就可以了。
如果涉及到几张表的话这个方法就不好用了。不过你可以判断记录集的状态:
rs.Status = adRecModified 记录被修改
rs.Status = adRecNew 记录是新建的
rs.Status = AdRecDeleted 记录被删除
然后执行相应的sql语句就可以了本回答被提问者采纳
vb中datagrid控件的使用方法有哪些?
For i = 0 To DataGrid1.ApproxCount
If Trim(乡村号.Text) = Trim(DataGrid1.Columns.Item(i).Text) Then
MsgBox "该乡村号已使用,请重新输入"
这是一个添加按钮里面的代码,原意是试图添加乡村号时检测表中已有乡村号是否重复,但失败了。请指正。
例如:
SQL1="Select * From 数据表 Where 乡村号='" & 乡村号.Text & "' 'SQL语句字符串
RS.Open SQL1,conn,2,2 ‘使用SQL打开数据表查询
IF Not RS.EOF Then '如果记录不是空
MsgBox "该乡村号已使用,请重新输入"
RS.Close
conn.Close
Exit Sub
End If
在SQL语句中的 Where 后面的“乡村号”是字段名。追问
我还是实在不会,你能留个联系方式,我发一份源码给你帮我作修改吗
追答百度不容许发QQ或邮箱,在百度HI中聊吧。
追问我Q号就是百度ID:3 8 1 7 4 7 9 9 7
麻烦加我一下好吗
应该从数据源去进行搜索寻找.
我记得DataGrid控件无法返回数据源的记录总数.
ApproxCount属性并不是记录总数? 参考技术B
是不是应该这样写啊:
If Trim(乡村号.Text) = Trim(DataGrid1.Columns(i).Text) Then追问还是不行哦。
我在看别人的程序,乡村号是表中第一列的数据,DataGrid1.ApproxCount不是总行数吗?Columns是列的意思,所以我揣测为默认第一列,然后在item(i)里通过i的变化,逐行比较乡村号是否重复
DataGrid1.ApproxCount这个的确是总行数 一般判断存不存在 用SQL 是正常的思路。如果这要按DataGrid1.Columns.Item(i).Text来判断 可以这样写
Dim a As Integer
rst.CursorLocation = adUseClient
rst.Open "select * from 乡村 ", cnn
For i = 0 To rst.RecordCount - 1
Set DataGrid1.DataSource = rst
If Text1.Text = DataGrid1.Columns.Item(1).Text Then
MsgBox "该乡村号已使用,请重新输入"
Text1.Text = ""
Text1.SetFocus
rst.Close
Exit Sub
Else
rst.MoveNext
End If
Next
rst.Close
这样看起来很鸡肋啊
建议:写个sql直接判断这个张村号是否存在!
以上是关于请教VB6.0 中DataGrid 操作Access数据库的问题的主要内容,如果未能解决你的问题,请参考以下文章
请教关于 EasyUi datagrid formatter后取值问题
请教关于 EasyUi datagrid formatter后取值问题
easyui datagrid怎么可以移除多行呢, 请教高手