VB连access库

http://www.xishui.net 2008年06月01日17:44 浠水网

   你就先把数据库跟vb连接好,字段绑定了,,然后用对象集的addnew方法就可以了,,很简单的。

//建立数据库连接
Dim Conn
Dim ConnectionString As String
Set Conn = CreateObject("ADODB.Connection")
ConnectionString = "DBQ=" & 数据库地址& "\don.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Conn.Open ConnectionString


//插入记录
Dim rs As New ADODB.Recordset
sql="查询语句"
rs.Open sql, Conn, 3, 3
rs.addnew
rs("字段名")=文本框的内容

VB连接access数据库。     
用VB做管理系统的时经常要加上数据库,最近我们做MIS课程设计,以前对VB和数据库很不了解,所以做起来很困难,现在学会点皮毛,想把这些经验和方法告诉还不会的人,以共同进步,我的观点是:知识不能独享,就像黑客知识一样,如果只有一个人知道别人不知道,这个国家就会受到别人的入侵,只有大家都掌握了,才可以保护自己的家园。现在学什么都要收费,这是我在学习中受到的阻力,感到很郁闷,呵呵,扯远了。今天告诉大家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
再很久以前我从那群里转载了一片关于连接ACCESS数据库的文章之后很多网友都问我还有没有多一些,今天就为大家奉上一片关于连接ACCESS数据库的文章。
下面是为了连接数据库而准备的,可以放到模块中,在用“CALL”,把它调用出来。
'数据库名为“db”,数据库中有一个“a”表,在“a”表中有个“b”字段。
Public objRs As New ADODB.Recordset
Public objCn As New ADODB.Connection
Public Function Go()
If objCn.State <> adStateClosed Then objCn.Close
objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path + "\db.mdb"
objCn.Open
End Function
下面是读取数据库到“MSHFlexGrid1”表格控件中。
Call Go
objCn.CursorLocation = adUseClient
If objRs.State <> adStateClosed Then objRs.Close
objRs.Open "select * from a", objCn, adOpenKeyset, adLockOptimistic
If objRs.RecordCount > 0 Then
Set MSHFlexGrid1.DataSource = objRs
End If
下面是把TEXT1的数据写入ACCESS数据库中。
Call Go
If objRs.State <> adStateClosed Then objRs.Close
objRs.Open "select * from a", objCn, adOpenKeyset, adLockOptimistic
objRs.Find "b='" & Trim(Text1.Text) & "'"
If objRs.EOF Then
    objRs.AddNew
    objRs.Fields("b").Value = Trim(Text1.Text)'b是a表中的一个字段
    objRs.Update
    objRs.Requery
    MsgBox "保存成功"
End If
下面是添加一个字段。
Call Go
objCn.CursorLocation = adUseClient
If objRs.State <> adStateClosed Then objRs.Close
objCn.Execute "alter table a add " & Text2.Text & "nvarchar(50)"
MsgBox "添加成功"
End Sub
下面是删除一个字段。
Call Go
objCn.CursorLocation = adUseClient
If objRs.State <> adStateClosed Then objRs.Close
objCn.Execute "alter table a drop column " & Text3.Text
MsgBox "删除成功"
发表评论
上一篇将Access数据库移植到Microsoft SQL Server 7.0
下一篇Access无需DSN文件快速连接SQL Server方法
正在加载中……