|
|
|
|
|
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 "删除成功"
【发表评论】
|
|||||||