ACCESS数据库:
VB环境下
方法一:用代码链接
步骤一:
在 工程引用Microsoft ActiveX Data Objects 2.8 Library'2.5 2.6 2.7 2.8 随你
步骤二:
用代码和mdb文件建立连接
Private Sub OpenDataBase() On Error GoTo err Dim str As String Dim IniName As String IniName = "C:\SystemSetup.ini" If Dir(IniName) = "" Then MsgBox "请指定数据库的路径!", vbInformationa: With CommonDialog1 .FileName = "" .CancelError = True .Filter = "*.mdb,*.accdb" .ShowOpen End With DataFilename1 = CommonDialog1.FileName Call INIWrite("数据库地址", "地址路径", DataFilename1, IniName) Else DataFilename1 = INIRead("数据库地址", "地址路径", IniName) '读取配置文件内容赋值给变量aa End If If DataFilename1 <> "" Then If Conn.State = 1 Then Conn.Close Conn.CursorLocation = adUseClient Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataFilename1 & ";User ID=;Persist Security Info=False;Jet OLEDB:Database Password=" End If Exit Suberr: If err.Number = "-2147467259" Then GoTo a Else MsgBox err.Number & "--" & err.Description, vbInformation, "打开数据库失败!" End IfEnd Sub 代码解释:
首先新建一个Ini文件用于存储数据库的绝对地址。然后用Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataFilename1 & ";User ID=;Persist Security Info=False;Jet OLEDB:Database Password="与数据库建立连接。Microsoft.Jet.OLEDB.4.0这是数据库驱动。
方法二: 新建数据设计环境建立VB与数据库的链接:
在工程文件里面新建DataEnvironment,然后通过这个与数据库建立连接,具体方法参考链接https://wenku.baidu.com/view/31127585f01dc281e43af0a5.html
VB.net环境下:
方法一:(用代码链接)
Dim cnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AppDisk & "\db123.mdb" & ";Persist Security Info=False" Dim cn As OleDbConnection = New OleDbConnection(cnStr)
用这两句代码即可链接上数据库!
方法二:通过添加数据源
将要连接的Access数据库添加到工程文件即可。
接下来介绍常用的数据库操作方法,VB和VB.net两种环境下通用
在VB环境下要对数据库进行操作,首先定义一个记录集变量 Dim rst As New ADODB.Recordset
只要把数据库里面的表赋值给这个记录集,通过对记录集的操作来操作数据库里面的数据。
下面介绍几种常见的操作方法:
一:Add New 往数据库里面新增记录
二:Edit 编辑选定的记录
三: RS.MoveFirst 、RS.MoveLast、RS.MoveNext、RS.MovePrevious这几句是移动记录集的指针的时候常用的几句。
四:RS.EOF和RS.BOF:前者是指记录集的指针移到了记录集地址结尾之外,后者是指记录集指针移动到了记录集地址的开头之外。在编程的时候可以使用这两条语句来判断记录集的位置,作为循环标志。
五:RS.Filed系列
1、RS.Filed(字段的名字)、RS.Filed(1)这两句的作用一样,都指定表里面的某个字段,在编程的时候建议灵活运用。
2、RS.Filed(字段名).Name返回字段名,RS.Filed(字段名).Value返回字段的值
六: RS.Filter
这个是记录集筛选器,在程序里面做查询的时候建立使用,配合好SQL语句可以实现很多功能。
七:RS.update
更改了数据库里面的内容后,要用这一句更新数据库表里面的内容,不然之前的操作无效。
八:RS.Delete
这一句用于删除记录集里面的内容
下面共享两段代码。功能分别是删除数据库里面的表、在数据库里面新建一张表
Public Sub DeleteTabel(strU As String) Dim str As String
str = "drop table [Work_report" & strU & "]" Conn.Execute str
Conn.Close Conn.Open End Sub
Public Sub CreateSJK(str As String) Dim i As Double Dim tabelname As String Dim tabelname1 As String Dim str1 As String
tabelname = "Work_report" & str
str1 = "Select * Into " & tabelname & " From [Work_reportadmin] Where false" Conn.Execute str1 End Sub
用SQL语句操作数据库里面的内容:
新增:Insert Into (表名) (字段一,字段二,字段三,字段四,字段五) Values('" & String1 & "','" & String2 & "','" & String3 & "','" & String4 & "','" & String5 & "')"
编辑&修改 "Update Tabel2(表名) Set 字段一='" & String1 & "', " & "字段二='" & String2 & "', " _ & "字段三='" & String3 & "', " _ & "字段四='" & String4 & "', " _ & "字段五='" & String5 & "' " _ & "WHERE ID = " & Val(TextBox6.Text)
删除记录 : "Delete From Tabel1(表名) WHERE ID =" & Val(TextBox6.Text)
Dim MyDataReader As OleDbDataReader Dim MyOleDbCommand As OleDbCommand = New OleDbCommand()
在VB.NET里面可以通过定义OleDbDataReader 和OleDbCommand来执行相应的SQL操作
、 Public Function FillTextBox(ByVal Sqlstring As String) If cn.State = 0 Then cn.Open() End If MyOleDbCommand.Connection = (cn) MyOleDbCommand.CommandText = Sqlstring MyDataReader = MyOleDbCommand.ExecuteReader Try Do While MyDataReader.Read TextBox6.Text = (MyDataReader.Item(0)) TextBox1.Text = (MyDataReader.Item(1)) TextBox2.Text = (MyDataReader.Item(2)) TextBox3.Text = (MyDataReader.Item(3)) TextBox4.Text = (MyDataReader.Item(4)) TextBox5.Text = (MyDataReader.Item(5)) If TabelName = "Tabel3" Then Store = Val(TextBox5.Text) Loop Catch err As System.Exception MyDataReader.Close() End Try MyDataReader.Close() End Function
这段代码是在VB.NET环境下面用于读取数据表里面的内容。
今天先谈到这里,SQL数据库的操作技巧下一篇再更新!