我的vb连接数据库access是出现这个窗口怎么回事

我的vb连接数据库access是出现这个窗口怎么回事本人新手刚学的,,... 我的vb连接数据库access是出现这个窗口怎么回事

本人新手 刚学的,,
展开
 我来答
junyfm
2014-04-15 · TA获得超过163个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:105万
展开全部
 '代码出处:http://zhidao.baidu.com/question/145401203.html
'在工程中引用Microsoft ActiveX Data Object 2.6或者更高的版本
Dim db As New ADODB.Connection '声明数据库对像
Dim rs As New ADODB.Recordset  '声明表对像
Dim mstream As ADODB.Stream    '声明流对像(好像也叫二进制对像)
Private Sub 登录数据库_Click()             '打开数据库
On Error GoTo ErrHandle                    '错误处理
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\巨浪网络\数据库练习3\Data.mdb" '无密码访问
'db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\巨浪网络\数据库练习3\Data2.mdb;Jet OLEDB:database password=123456" '有密码访问123456为数据库密码
rs.Open "Select * From 学生名单 ", db, 1, 3
'rs.Open "Select * From 学生名单 ", db, 1, A 'A=1表示读取数据;A=3表示新增、修改或删除数据
ErrHandle:                                 '错误处理
Select Case Err.Number
Case -2147217843
MsgBox "数据库密码错误,请从新输入!", vbInformation, "您好"
End Select
If rs.State = adStateOpen Then
'AdStateClosed指rs对象是关闭的
'AdStateOpen指rs对象是打开的
'AdStateConnectingrs指rs对象正在连接
'AdStateExecutingrs指rs对象正在执行命令
'AdStateFetchingrs指rs对象的行正在被读取
MsgBox "数据库已成功打开!", vbInformation, "您好"
End If
End Sub
Private Sub Form_Unload(Cancel As Integer) '关闭数据库
rs.Close '关闭表
db.Close '关闭数据库
End Sub
Private Sub Command2_Click()               '指向下一条记录
If rs.EOF = True Then          '如果是最后一条记录(true为是,False为不是)
MsgBox "这已是最后一条记录!", vbInformation, "您好"
Else                           '如果不是最后一条记录
rs.MoveNext                    '指向下一条
End If
End Sub
Private Sub Command3_Click()               '指向上一条记录
If rs.BOF = True Then          '如果是最前一条记录(true为是,False为不是)
MsgBox "这已是最前一条记录!", vbInformation, "您好"
Else                           '如果不是最前一条记录
rs.MovePrevious                '指向上一条
End If
End Sub
Private Sub Command4_Click()               '指向第一条记录
rs.MoveFirst                   '指向第一条
End Sub
Private Sub Command5_Click()               '指向最后一条记录
rs.MoveLast                    '指向最后一条
End Sub
Private Sub Command6_Click()               '向下移动1行
rs.Move 1                      '向下移动1行
End Sub
Private Sub Command7_Click()               '添加记录
rs.AddNew
rs.Fields(0) = "666"           '对应编号列
rs.Fields(1) = "小牛"          '对应姓名列
rs.Fields(2) = "23"            '对应年龄列
rs.Update
End Sub
Private Sub Command8_Click()               '更新记录(更新的是当前行)
rs("姓名") = "小大牛"          '对应姓名列
rs("年龄") = "23"              '对应年龄列
rs.Update
End Sub
Private Sub Command9_Click()               '删除记录(删除的是当前行)
rs.Delete (0)
End Sub
Private Sub Command10_Click()              '查找记录
rs.Find "编号='168'"           '168为查找条件
If rs.EOF = False Then
MsgBox "已找到符合条件记录!且已移动到该条记录下!", vbInformation, "您好"
Else
MsgBox "对不起,啥也没找到!", vbInformation, "您好"
End If
End Sub
Private Sub Command12_Click()              '更新文件(更新的是当前行)
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile "c:\美女图片.jpg"
rs.Fields("二进制").Value = mstream.Read '对应二进制列
rs.Update
End Sub
Private Sub Command13_Click()              '保存文件
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile "c:\1.exe"
rs.AddNew
rs.Fields(0) = "88"                      '对应编号列
rs.Fields(1) = "小"                      '对应姓名列
rs.Fields(2) = "20"                      '对应年龄列
rs.Fields("二进制").Value = mstream.Read '对应二进制列
rs.Update
End Sub
Private Sub Command14_Click()              '导出文件
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.Position = 0
mstream.Write rs.Fields("二进制").Value    '对应二进制列
mstream.SaveToFile "c:\2.exe", adSaveCreateOverWrite
End Sub
Private Sub Command1_Click()               '显示记录
'代码出处:http://blog.sina.com.cn/s/blog_6d5459990100yr2r.html
Text1.Text = rs.Fields("编号") '将编号这个字段第一行数据(默认是第一行数据)赋值给Text1
Text2.Text = rs.Fields("姓名") '将姓名这个字段第一行数据(默认是第一行数据)赋值给Text2
Text3.Text = rs.Fields("年龄") '将年龄这个字段第一行数据(默认是第一行数据)赋值给Text3
Text4.Text = rs.Fields.Count   '数据表总字段数(也就是数据表总列数)
Text5.Text = rs.RecordCount    '数据表记录总数(也就是数据表总行数)
Text6.Text = rs(0).Name        '第1个字段的名称(也就是数据表第1列列头的文字)
Text7.Text = rs(0)             '第1个字段的数据(也就是数据表第1列列头下面的第一行文字)
Text8.Text = rs("姓名")        '指定字段数据(和rs.Fields类似)
End Sub
'==============================修改数据库密码(建议每次退出程序时执行一次)==============================
'工程-引用Microsoft Jet and Replication Objects Library 2.6 Library
Private Sub Command11_Click()
Dim miJRO As JRO.JetEngine
Set miJRO = New JRO.JetEngine
miJRO.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=" & "F:\巨浪网络\数据库练习3\Data.mdb;" & "Jet OLEDB:Database Password=123", _
                      "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=" & "F:\巨浪网络\数据库练习3\Data0.mdb;" & "Jet OLEDB:Database Password=abc"     '123为修改前的密码 abc为修改后的密码
End Sub
'======================================================================================================
公益学编程gogogo
2014-04-15 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:59.2万
展开全部
你打sp6补丁了吗?如果没打,可能是
1、你的mdb版本较高。应另存为access98以下版本
2、去掉空格试试
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LzSkyline
2014-04-15 · TA获得超过565个赞
知道小有建树答主
回答量:578
采纳率:0%
帮助的人:302万
展开全部
我经常遇到这种情况 VisData的问题 换个数据库管理系统就没事了
追问
我是新手刚自学了不到一个月....你说的换个数据库管理系统   是什么意思啊
追答
比如 MS ACCESS
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式