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 "请指定数据库的路径!", vbInformation
a: 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 Sub
err:
If err.Number = "-2147467259" Then
GoTo a
Else
MsgBox err.Number & "--" & err.Description, vbInformation, "打开数据库失败!"
End If
End 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,然后通过这个与数据库建立连接,具体方法参考链接/view/31127585f01dc281e43af0a5.html
环境下:
方法一:(用代码链接)
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环境下要对数据库进行操作,首先定义一个记录集变量 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()
在里面可以通过定义OleDbDataReader 和OleDbCommand来执行相应的SQL操作
、Public Function FillTextBox(ByVal Sqlstring As String)
If cn.State = 0 Then
cn.Open()
End If
MyOleDbCommand.Connection = (cn)
mandText = 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
这段代码是在环境下面用于读取数据表里面的内容。
今天先谈到这里,SQL数据库的操作技巧下一篇再更新!