大鸟的学习乐园
路漫漫其修远兮,吾将上下而求索
posts - 26,comments - 27,trackbacks - 0
VB利用ADO控件连接access数据库


    今天告诉大家VB利用ADO控件连接access数据库的两种方法:

    一种是在 adodc1的属性里设置数据库文件的路径,这种方法的优点是简单易操作,缺点是,当源文件换了地方后,要重新设置数据库的路径,否则连接不上数据库了。

    一种是用代码设置数据库的路径,这种方法的优点就是只要源文件和数据库在同一文件夹下,无论移动到哪里都能连接上。

    如果没有建立好数据库的话,先建立一个数据库,然后建立一个表比如我们建的表名为message,然后把里面的字段名称和数据类型都按自己的需要设置好.然后保存就可以了.
    打开Microsoft Visual Basic6.0 我用的是VB6.0,在需要调用数据库的窗体上加入一个adodc控件,默认名称为:Adodc1。默认的情况下工具栏里是没有这个控件的,可以打开工程---部件(快捷键CTRL+T),去掉只显示选定项的勾,然后勾上Microsoft ADO Data Control(OLEDB),然后确定,工具栏就会多了一个adodc的控件。

第一种方法:设置adodc1的属以连接数据库.在adodc1控件上右键--Adodc属性--使用连接字符串--生成--Microsoft Jet 4.0 OLE DB Provider--下一步--选择或输入数据库名称---找到要连接的数据库后,确定.然后记录源设置属性. 如果要把内容提交到数据库一般使用adCmdTable. 表选择要连接的表。
设置完毕后就可以了.
如果我们想把内容提交到数据库.举个例子..
在窗体建立一个文本框,设置属性中的DataSource为adodc1   DataField为要连接的数据库的字段名。如果数据库中有字段,会让你选择。
设置好后在窗体加一个添加记录和一个提交的按钮,设置代码:
Private Sub Command1_Click()
Adodc1.Recordset.Update   '保存
Adodc1.Refresh '刷新
End Sub
添加按钮代码:
Private Sub Command2_Click()
Adodc1.Recordset.AddNew '添加新纪录
Adodc1.Recordset("姓名").Value = Text1.Text
End Sub

第二种方法:
在窗体添加Adodc控件一个text控件 一个添加记录按钮一个提交按钮
在窗体设置代码:
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\db1.mdb;Persist Security Info=False" '设置数据库路径
Adodc1.CommandType = adCmdText '设置记录源
Adodc1.RecordSource = "select * from message" '连接数据库的message表文件
Set Text1.DataSource = Adodc1
text1.DataField = "姓名"
End Sub
添加记录按钮代码:
Private Sub Command1_Click()
Adodc1.Recordset.AddNew '添加新纪录
End Sub

提交代码:
Private Sub Command2_Click()
Adodc1.Recordset.Update   '保存
Adodc1.Refresh '刷新
End Sub
    好了连接方法讲完了,我都在机子上测试过了,因该没有什么问题的。如果有问题请多看几遍,或看些别人写的程序代码,会有很大进步的,我的VB也不好,因为不是计算机专业的,老师也没有教很多,高手莫笑。好了我再给大家几个查询数据库常用的代码:
首记录按钮的代码:
Private Sub sjl_Click()
Adodc1.Recordset.MoveFirst
End Sub
上一条记录按钮代码:
Private Sub up_Click()
Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF Then
Adodc1.Recordset.MoveFirst
End If
End Sub
下一条记录代码:
Private Sub down_Click()
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveLast
End If
End Sub
末记录代码:
Private Sub mjl_Click()
Adodc1.Recordset.MoveLast
End Sub
删除记录代码:
Private Sub Command3_Click()
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
If (Adodc1.Recordset.BOF Or Adodc1.Recordset.EOF) Then
MsgBox "已经无记录", , "提示"
End If
End Sub

如果有什么不对的地方,请大家指正。

posted on 2008-11-26 07:19 大鸟 阅读(2345) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: