关于vb6的data控件的recordset对象的一些问题

1.data控件的大体用法2.seek方法到底怎么用,index是干什么的3.我用find方法查找字符串与整形字段能成功,可是查找日期型就不行了,怎么办?就这么多了。我只... 1.data控件的大体用法
2.seek方法到底怎么用,index是干什么的
3.我用find方法查找字符串与整形字段能成功,可是查找日期型就不行了,怎么办?
就这么多了。我只想实现简单的查找、添加、删除、编辑记录的功能,就用DATA控件。谢谢了!
展开
 我来答
小红叶的心
2014-06-15 · TA获得超过466个赞
知道答主
回答量:37
采纳率:0%
帮助的人:38.9万
展开全部

 'VB数据库入门演示
'注意:VB可视化数据库管理器不能创建有密码的ACCESS mdb数据库文件或追加密码,不过可以使用MicrosoftAccess来管理mdb数据库文件密码或使用“VB追加mdb数据库密码.rar”来给mdb数据库文件追加密码。
'注意:因为ACCESS mdb数据库文件的密码很弱并且网上有众多的ACCESS mdb数据库文件密码查询器,所以ACCESS mdb数据库文件是否有密码已经无关紧要了。
'注意:“VB追加mdb数据库密码.rar”只能用于给没有密码的mdb数据库文件追加密码,不能进行密码移除或密码更改。
'注意:本程序使用了DATA控件连接MDB数据库,发布的程序若为免安装版的话则必须有“DAO350.DLL”“MSJET35.DLL”“VB5DB.DLL”三个文件,并且需要注册注册“DAO350.DLL”“MSJET35.DLL”,否则程序将不能正常运行。
Option Explicit
Private Sub Form_Load()
 
'装载数据库
'数据库信息检查-错误代码跳转代码
On Error GoTo Errmdbs:
'''''   '有密码的数据库连接
'''''   Data1.Connect = ";PWD=123456"
'''''   Data1.DatabaseName = App.Path & "\MDB数据库.mdb.密码123456"
'''''   If Dir(App.Path & "\MDB数据库.mdb.密码123456", vbReadOnly Or vbHidden Or vbSystem) = "" Then
'''''      MsgBox "系统错误:指定的数据库文件不存在或已损坏!", 0 + 16 + 0, "程序终止"
'''''      End
'''''   End If
 
'无密码数据库连接
Data1.Connect = "Access"
Data1.DatabaseName = App.Path & "\MDB数据库.mdb"
If Dir(App.Path & "\MDB数据库.mdb", vbReadOnly Or vbHidden Or vbSystem) = "" Then
   MsgBox "系统错误:指定的数据库文件不存在或已损坏!", 0 + 16 + 0, "程序终止"
   End
End If
 
Data1.RecordSource = "MDBdate" '数据库表项
Data1.Refresh                '激活Data1控件操作,使之对数据库的操作有效
'Data1.Recordset.Update       '刷新数据,某些情况或方法下需要刷新数据,否则数据不会被保存进数据库
'Data1.Recordset.Close        '关闭Data1控件连接的数据库,使用前注意是否需要使用“Data1.Recordset.Update”保存数据。
 
'Data1.Recordset.AbsolutePosition  '获取当前数据指针的序号
'Data1.Recordset.MoveFirst '选中第一行数据
'Data1.Recordset.MoveLast  '选中最后一行数据
'Data1.Recordset.Move n    '选中第n行数据(注意第一行的序号=0)
Exit Sub
'检测到数据库相关错误
Errmdbs:
 
If Error = "密码无效。" Then
   MsgBox "严重:数据库登录密码错误,程序终止!", 0 + 16 + 0, "错误"
   End
End If
 
MsgBox "系统错误:指定的数据库文件不存在或已损坏!", 0 + 16 + 0, "程序终止"
End
End Sub
Private Sub Command2_Click()
 '新增数据
 Data1.Recordset.AddNew       '新增数据功能激活(默认为从最后一排追加)
 '数据增加
 Data1.Recordset.Fields(0) = "3"            '编号信息,数据类型为 Integer
 Data1.Recordset.Fields(1) = "王五"         '姓名信息,数据类型为 String
 Data1.Recordset.Fields(2) = "789"          '密码信息,数据类型为 String
 Data1.Recordset.Fields(3) = "
"    '路径信息,数据类型为 String
 Data1.Recordset.Update       '刷新数据,某些情况或方法下需要刷新数据,否则数据不会被保存进数据库
 Data1.Refresh                '激活Data1控件操作,使之对数据库的操作有效
 
End Sub
Private Sub Command3_Click()
 '删除数据
 Data1.Recordset.MoveLast     '选中最后一行数据
 Data1.Recordset.Delete       '删除数据功能激活(默认为删除第一行数据)
 Data1.Refresh                '激活Data1控件操作,使之对数据库的操作有效
 
End Sub
Private Sub Command4_Click()
 '搜索数据
  Data1.Recordset.FindFirst "姓名 like '李四'"
  '搜索结果判断
  If Data1.Recordset.NoMatch = False Then
     MsgBox "找到 姓名=李四 的数据行", 0 + 64 + 0, "成功"
  Else
     MsgBox "没有找到 姓名=李四 的数据行", 0 + 16 + 0, "失败"
  End If
   
  'MsgBox Data1.Recordset.AbsolutePosition  '获取当前数据指针的序号
End Sub
Private Sub Command5_Click()
 '修改数据
 Data1.Recordset.Move 1       '选中第2行的数据 第一行的序号是0
 Data1.Recordset.Edit         '修改数据功能激活(默认为修改第一行的数据)
 '写如新数据
 Data1.Recordset.Fields(0) = "31"
 Data1.Recordset.Fields(1) = "新王五"
 Data1.Recordset.Fields(2) = "新密码789"
 Data1.Recordset.Fields(3) = "\\新789\新789"
 Data1.Recordset.Update       '刷新数据,某些情况或方法下需要刷新数据,否则数据不会被保存进数据库
 Data1.Refresh                '激活Data1控件操作,使之对数据库的操作有效
 
End Sub
Private Sub Command6_Click()
 '导出数据(默认导出除第一行数据)
 Data1.Recordset.Move 1                    '选中第2行的数据 第一行的序号是0
 Label1.Caption = Data1.Recordset.Fields(0)
 Label2.Caption = Data1.Recordset.Fields(1)
 Label3.Caption = Data1.Recordset.Fields(2)
 Label4.Caption = Data1.Recordset.Fields(3)
 
End Sub
Private Sub Command7_Click()
  '获取数据总行
  Data1.Recordset.MoveLast '将指针移到表的最后一笔记录 加上这一行主要是为了减少因为数据库本身损坏等引起的错误答案。如果指针不能指向到最后一行系统会报告错误。
  Label6.Caption = Data1.Recordset.RecordCount
End Sub
Private Sub Command8_Click()
 '自动编号思路
 '遍历数据库总行数,同步编辑每行的编号项下的值来达到批量修改编号的目的
 Data1.Recordset.MoveLast '将指针移到表的最后一笔记录 加上这一行主要是为了减少因为数据库本身损坏等引起的错误答案。如果指针不能指向到最后一行系统会报告错误。
 Dim i As Long
 For i = 0 To Data1.Recordset.RecordCount - 1
 Data1.Recordset.MoveFirst    '从第一行开始,方向向下。(data控件必须加上这行,否则搜索方向会混乱)
 Data1.Recordset.Move i
 Data1.Recordset.Edit         '修改数据功能激活
 Data1.Recordset.Fields(0) = i + 1  '写入信息(自增量编号)
 Data1.Recordset.Update       '刷新数据,某些情况或方法下需要刷新数据,否则数据不会被保存进数据库
 Data1.Refresh                '激活Data1控件操作,使之对数据库的操作有效
 'Exit For
 Next
 
End Sub
Private Sub Command1_Click()
 Data1.Recordset.Close        '关闭Data1控件连接的数据库,使用前注意是否需要使用“Data1.Recordset.Update”保存数据。
 End
End Sub
 

VB数据库入门:

1:VB建立数据库文件:

1-1:启动VB编辑器--外接程序(A)--可视化数据管理器(V)--文件(F)--新建(N)--Microsoft Access(M)-Version 7.0 MDB(7)
1-2:创建窗口输入文件名(如 MDB数据库)--保存
     进入到数据库窗口
1-3:右键 Properties --新建表(T)
     进入到表结构界面
1-4:表名称(N)(如:MDBdate)--添加字段(A)
1-5:名称--类型--大小--固定/可变字段--允许零长度--必要的--等等参数根据情况设置--确定
1-6:循环1-5创建多个表单--关闭
     回到了表结构界面,检查无误则--生成表(B)
     回到数据库界面
1-7:右键 MDBdate --打开(O)
     进入到数据库编辑界面
1-8:添加(A)--根据情况编辑相应信息--更新(U)
1-9:循环1-8添加好多个信息--关闭(C)
     回到数据库界面
1-10:至此,数据库建立完成,可以叉掉可视化数据管理器了


2:VB连接数据库文件:

2-1:启动VB编辑器--新建一个工程
2-2:添加控件 工程(P)--部件(O)--勾选上“Microsoft FlexGrid Control 6.0”--应用(A)
2-3:在窗体上画上2个控件 Data1 和 MSFlexGrid1
2-4:Data1控件的基本属性
     Data1.Caption="Data1的名字"
     Data1.databaseName="Data1要连接到的数据库位置设置" 或 用代码方式 (如 App.Path & "\MDB数据库.mdb")
     Data1.RecordSource="Data1连接到的数据库的表名称"  上文中我们新建的表名称是“MDBdate”,所以这里则使用“MDBdate”
     Data1.RecordsetType=Data1控件对数据库的操作模式,有3个值 Table=完全控制(即时刷新数据) Dynaset=完全控制(手动保存或代码保存后刷新数据,默认值(推荐值)) Snapshot=只读模式(不能刷新数据)
     Data1.Exclusive=False/True 数据库共享还是独占模式(False为共享模式,默认值)
     Data1.ReadOnly=False/True 数据库文件是否可被修改。(False为可写模式,默认值)
     Data1.Visible=True/False (Data1控件是否可见)
2-5:MSFlexGrid1控件的基本属性
     MSFlexGrid1.DataSource="MSFlexGrid1的数据源"  (设置为“Data1”即可,因为我们已经用Data1连接到了指定的数据库,MSFlexGrid1大意上就是一个数据显示控件)
2-6:完成,调试代码则可在MSFlexGrid1控件上浏览到数据库数据了。

注意:VB开发环境若使用了DATA控件连接MDB数据库,发布的程序若为免安装版的话则必须有“DAO350.DLL”“MSJET35.DLL”“VB5DB.DLL”三个文件,并且需要注册注册“DAO350.DLL”“MSJET35.DLL”,否则程序将不能正常运行。

注意:VB可视化数据库管理器不能创建有密码的ACCESS mdb数据库文件或追加密码,不过可以使用MicrosoftAccess来管理mdb数据库文件密码或使用“VB追加mdb数据库密码.rar”来给mdb数据库文件追加密码。

注意:因为ACCESS mdb数据库文件的密码很弱并且网上有众多的ACCESS mdb数据库文件密码查询器,所以ACCESS mdb数据库文件是否有密码已经无关紧要了。
注意:“VB追加mdb数据库密码.rar”只能用于给没有密码的mdb数据库文件追加密码,不能进行密码移除或密码更改。

 

*****************************************************

 

如果你看到这里 差不多你对data+mdb的基本操作已经会了 功能的完善只需要合理代码组合就可以完成,比如上例删除修改等功能都是针对指定的行,若你搭配上搜易功能则能达到删除或修改指定行的功能,你问的日期型的问题 我没有去测试,估计是声明转型的问题,其次你可以试下拆分日期判断在组合回去的办法试试。另外我这里有个用data+mdb做的给网吧用户用的个人磁盘管理器实例 若你需要可以向我索取。最后祝你成功!

追问
是好东西,但是复制粘贴痕迹颇浓,而且,请点对点回答好吗?好的话一定追加分,谢谢!
追答
2.3问没测试 请等待别人回答 这个是1 4问的回答,代码后面附的VB数据库入门什么的跑题了 不好意思。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式