VB中用ADODC控件连接ACCESS数据库
今天告诉大家VB连接数据库的方法,我知道的有两种:
一种是在 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
阅读(3286) | 评论(0) | 转发(0) |