今天告诉大家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