VB和VB.net环境下链接Access、SQL数据库的方法及技巧(Access篇)

·
2025-08-02 21:03:35

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数据库的操作技巧下一篇再更新!