VB程序员必看:数据库连接技巧详解 (vb用户数据库连接)

VB(Visual Basic)是一种面向对象的高级程序设计语言,被广泛应用于Windows操作系统的软件开发中。在软件开发中,经常需要使用数据库存储和管理数据,因此数据库连接技巧是VB程序员必须掌握的基本技能。

本文将详细介绍数据库连接技巧,包括数据库的概念、连接方法、连接字符串的编写等方面,旨在帮助VB程序员更好地理解和应用数据库连接技巧。

一、数据库的概念

数据库是一种专门用于存储、组织和管理数据的电子系统。它可以帮助用户进行数据的快速查找、添加、删除、修改等操作,并可保证数据的安全性和完整性。

常见的数据库类型包括关系型数据库、面向对象数据库、层次型数据库、网状型数据库等。在VB程序设计中,关系型数据库被广泛应用,如SQL Server、Oracle、MySQL等。

二、数据库连接方法

VB程序员可以使用多种方法连接数据库,包括ADO、ODBC、DAO等。不同的连接方法具有各自的特点,程序员可以根据具体需求选择合适的连接方式。

1. ADO连接方法

ADO(ActiveX Data Objects)是一种微软公司开发的数据访问技术,它提供一组COM组件,使程序员能够通过OLE DB接口连接到各种不同的数据源。

ADO连接数据库的基本步骤如下:

(1)创建Connection对象

Dim conn as new ADODB.Connection

(2)设置连接字符串

conn.ConnectionString =”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database\mydb.mdb”

(3)打开数据库连接

conn.Open

2. ODBC连接方法

ODBC(Open Database Connectivity)是一种由微软公司开发的开放式数据库连接技术,它提供一种统一的接口,使不同的应用程序可以连接到各种不同的数据库。

ODBC连接数据库的基本步骤如下:

(1)创建Connection对象

Dim conn as new ADODB.Connection

(2)设置连接字符串

conn.ConnectionString =”Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\database\mydb.mdb”

(3)打开数据库连接

conn.Open

3. DAO连接方法

DAO(Data Access Objects)是一种微软公司开发的数据访问技术,它提供一组COM组件,使程序员能够通过Jet引擎连接Access数据库。

DAO连接数据库的基本步骤如下:

(1)创建DBEngine对象

Dim db as DAO.DBEngine

Set db = New DAO.DBEngine

(2)创建Database对象

Dim dbs as DAO.Database

Set dbs = db.OpenDatabase(“C:\database\mydb.mdb”)

(3)打开数据库连接

dbs.OpenRecordset(“mytable”)

三、连接字符串的编写

连接字符串是一种包含连接数据库信息的文本字符串,通过它可以告诉程序连接数据库的信息,如数据库类型、服务器名称、用户名、密码等。

在编写连接字符串时,需要注意以下几点:

1. 数据库类型

不同类型的数据库需要编写不同的连接字符串,如Access数据库:

“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database\mydb.mdb”

SqlServer数据库:

“Provider=SQLOLEDB;Data Source=myserver;Initial Catalog=mydb;User ID=myuserid;Password=mypassword;”

2. 服务器名称

如果连接远程服务器上的数据库,需要指定服务器名称和端口号。例如:

“Data Source=myserver\abc;Initial Catalog=mydb;User ID=myuserid;Password=mypassword;”

3. 用户名和密码

连接数据库时,需要提供登录名和密码。如:

“Server=myserver;Database=mydb;User Id=myuserid;Password=mypassword;”

4. Windows身份验证

如果使用Windows身份验证,可以不提供用户名和密码。例如:

“Server=myserver;Database=mydb;Trusted_Connection=True;”

四、

VB程序员必须掌握数据库连接技巧,才能更好地开发应用程序。本文介绍了数据库的概念、连接方法、连接字符串等方面,希望对程序员进行有益的帮助。在实际开发中,程序员应根据具体需求选择合适的连接方式,并仔细编写连接字符串,确保数据库连接正常。

相关问题拓展阅读:

VB与各数据库的几种连接方式

-、用DAO控件连接数据库1.与Access2023数据库连接Private Sub Command1_Click()’也可直接在控件属性中设置以下各项但在控件属性中不能写入密码’只有在数据数没有密码的情况下可以省略Data1.RefreshData1.Connect = “Access 2023;”Data1.DatabaseName = App. Path + “/chncmadb.mdb”‘数据库没有密码此句可省Data1.Connect = “;pwd=123456″‘Data1.RecordSource = “耕地资源管理单元属性数据表羡携虚2023” Data1.RecordSource = “select * from耕地资源管理单元属性数据表2023″Data1.Refresh’move后才能正确显示记录个数End Sub2.与没有密码的DBF文件数据库连接Private Sub Command2_Click()Data1.Connect = “dBASE III;”Data1.DatabaseName = App. Path’ Data1.RecordSource =”DBF”Data1.RecordSource = “select * from dbf”Data1.Refresh’move后才能正确显示记录个数End Sub3.与没有密码的Excel文件数据库连接Private Sub Command3_Click()Data1.Connect = “Excel 8.0;”Data1.DatabaseName = App.Path & “/EXcel.xls”Data1.RecordSource = “select * from “Data1.Refresh’move后才能正确显示记录个End Sub 二、用DAO代码连接数据库’在使用DAO对象前应选定Visual Basic菜单下的中的引用了菜单中的选隐模项,或其它版本1.DAO代码与Access数据库连接Private Sub Command1_Click()Dim Db As DatabaseDim Rs As Recordset’以共享、读写方式打开’如果无密码最后一个参数可以不要Set Db= OpenDatabase(App.Path & “/chncmadb.mdb”, False, False, “;pwd=123456”)’不需要move来更新记录个数 ‘Set Rs = Db.OpenRecordset(“耕地资源管理单元属性数据表2023”) ‘需要move来更新记录个数Set Rs = Db.OpenRecordset(“select * from “)If Rs.RecordCount > 0 Then Rs.MoveLast Rs.MoveFirstEnd IfEnd Sub 2.DAO代码与没有密码的DBF文件数据库连接Private Sub Command2_Click()Dim Db As DatabaseDim Rs As Recordset’以共享、读写方式打开Set Db = OpenDatabase(App.Path, False, False, “dbase III;”) ‘不需要move来更新记录个数’Set Rs = Db.OpenRecordset(“DBF”)’需要move来更新记录个数Set Rs = Db.OpenRecordset(“select * from “) If Rs.RecordCount > 0 Then Rs.MoveLast Rs.MoveFirstEnd IfEnd sub 3. ‘DAO代码与没有密码的Excel文件数据库连接Private Sub Command3_Click()Dim Db As DatabaseDim Rs As Recordset’以共享、读写方式打开’如果无密码最后一个参数可以不要Set Db = OpenDatabase(App.Path & “/EXcel.xls”, False, False, “Excel 8.0;”)’不需要move来更新记录个数 ‘ Set Rs = Db.OpenRecordset(“EXcel.xls”) ‘表格中的工兄燃作目录sheet ‘需要move来更新记录个数Set Rs = Db.OpenRecordset(“select * from “) ‘表格中的工作目录sheet’If Rs.RecordCount > 0 Then Rs.MoveLast Rs.MoveFirstEnd IfEnd Sub 三、用ADO控件连接数据库’也可直接在控件属性中设置以下各项1.ADO控件与Access2023数据库连接Private Sub Command1_Click() ‘连接有密码的Access数据库 ‘Adodc1.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & App.Path & “/chncmadb1.mdb;Jet OLEDB:DataBase PASSWORD=123456” ‘连接没有密码的Access数据库 Adodc1.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & App.Path & “/chncmadb.mdb;Persist Security Info=False” ‘Adodc1.RecordSource = “” Adodc1.RecordSource = “select * from ” Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.RefreshEnd Sub 2.’ADO控件与DBF表连接Private Sub Command2_Click() ‘Adodc1.ConnectionString = “Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE Files;DBQ=” & App.Path & “;SourceType=DBF;” ‘Adodc1.ConnectionString = “Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DSN=Visual FoxPro Tables;UID=;SourceDB=”& app.path &”;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;” ‘Adodc1.ConnectionString = “Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DSN=dBASE Files;DBQ=”& app.path &”;;DefaultDir=”& app.path &”;DriverId=533;MaxBufferSize=2023;PageTimeout=5;” ‘能使表名长度不受限制 Adodc1.ConnectionString = “Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=” & App.Path & “;SourceType=DBF;Locale Identifier=2023” ‘Adodc1.RecordSource = “” Adodc1.RecordSource = “select * from DBF1” Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.RefreshEnd Sub 3.’ADO控件与Excel表连接Private Sub Command3_Click() ‘下面一句测试未能通过 ‘Adodc1.ConnectionString = “Data Provider=MSDASQL.1;driver=Microsoft Excel Driver *.xls);DBQ=” & App.Path & “/EXcel.xls” ‘Adodc1.ConnectionString=”Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DSN=Excel Files;DBQ=” & App.Path & “/EXcel.xls;DefaultDir=”&app.path &”;DriverId=790;MaxBufferSize=2023;PageTimeout=5;” Adodc1.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=” & App.Path & “/EXcel.xls;Extended Properties=’Excel 8.0;HDR=Yes'” ‘Adodc1.RecordSource = “” Adodc1.RecordSource = “select * from ” Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.RefreshEnd Sub 4.’ADO控件与Oracle数据库连接Private Sub Command4_Click() ‘Adodc1.ConnectionString = “Provider=MSDAORA.1;Password=chncmadb;User ID=chncmadb;Data Source=towebserver;Persist Security Info=True”Adodc1.ConnectionString=”Provider=OraOLEDB.Oracle.1;Password=chncmadb;Persist Security Info=True;User ID=chncmadb;Data Source=towebserver” ‘Adodc1.RecordSource = “T320231TR012023” ‘表名不能加方括号 Adodc1.RecordSource = “select * from T320231TR012023” Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.RefreshEnd Sub 5.’ADO控件与SQLserver数据库连接’未测试Private Sub Command5_Click() Adodc1.ConnectionString = “Provider=SQLOLEDB.1;Password=111;Persist Security Info=True;User ID=111;Initial Catalog=111;Data Source=111” ‘Adodc1.RecordSource = “T320231TR012023” Adodc1.RecordSource = “select * from T320231TR012023” Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 DataGrid1.RefreshEnd Sub 四、用ADO代码连接数据库’在使用ADO对象前应选定Visual Basic菜单下的中的引用了菜单中的选项,或其它版本1.’ADO代码与Access2023数据库连接Private Sub Command1_Click() Dim AdoCnn As ADODB.Connection Dim AdoRs As ADODB.Recordset Set AdoCnn = New ADODB.Connection Set AdoRs = New ADODB.Recordset AdoCnn.CursorLocation = adUseClient ‘.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串 AdoCnn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & App.Path & “/chncmadb1.mdb;Jet OLEDB:DataBase PASSWORD=123456″AdoRs.Open “select * from “, AdoCnn, adOpenDynamic, adLockPessimistic, adCmdText Set DataGrid1.DataSource = AdoRs Set AdoRs = Nothing Set AdoCnn = NothingEnd Sub 2.’ADO代码与DBF表连接Private Sub Command2_Click() Dim AdoCnn As ADODB.Connection Dim AdoRs As ADODB.Recordset Set AdoCnn = New ADODB.Connection Set AdoRs = New ADODB.Recordset AdoCnn.CursorLocation = adUseClient ‘.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串 AdoCnn.Open “Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=” & App.Path & “;SourceType=DBF;Locale Identifier=2023″AdoRs.Open “select * from “, AdoCnn, adOpenDynamic, adLockPessimistic, adCmdText Set DataGrid1.DataSource = AdoRs Set AdoRs = Nothing Set AdoCnn = NothingEnd Sub3.’ADO代码与Excel表连接Private Sub Command3_Click() Dim AdoCnn As ADODB.Connection Dim AdoRs As ADODB.Recordset Set AdoCnn = New ADODB.Connection Set AdoRs = New ADODB.Recordset AdoCnn.CursorLocation = adUseClient ‘.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串 AdoCnn.Open”Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=” & App.Path & “/EXcel.xls;Extended Properties=’Excel 8.0;HDR=Yes'”AdoRs.Open “select * from “, AdoCnn, adOpenDynamic, adLockPessimistic, adCmdText Set DataGrid1.DataSource = AdoRs Set AdoRs = Nothing Set AdoCnn = NothingEnd Sub 4.’ADO代码与Oracle数据库连接Private Sub Command4_Click() Dim AdoCnn As ADODB.Connection Dim AdoRs As ADODB.Recordset Set AdoCnn = New ADODB.Connection Set AdoRs = New ADODB.Recordset AdoCnn.CursorLocation = adUseClient ‘.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串 AdoCnn.Open “Provider=OraOLEDB.Oracle.1;Password=chncmadb;Persist Security Info=True;User ID=chncmadb;Data Source=towebserver”AdoRs.Open “select * from T320231TR012023”, AdoCnn, adOpenDynamic, adLockPessimistic, adCmdText Set DataGrid1.DataSource = AdoRs Set AdoRs = Nothing Set AdoCnn = NothingEnd Sub 5.’ADO代码与SQLserver数据库连接’未测试Private Sub Command5_Click() Dim AdoCnn As ADODB.Connection Dim AdoRs As ADODB.Recordset Set AdoCnn = New ADODB.Connection Set AdoRs = New ADODB.Recordset AdoCnn.CursorLocation = adUseClient ‘.open后面的字符串可以参考ADO控件连接.ConnectionString后面的的字符串 AdoCnn.Open “Provider=SQLOLEDB.1;Password=111;Persist Security Info=True;User ID=111;Initial Catalog=111;Data Source=111″AdoRs.Open “select * from T320231TR012023”, AdoCnn, adOpenDynamic, adLockPessimistic, adCmdText Set DataGrid1.DataSource = AdoRs Set AdoRs = Nothing Set AdoCnn = NothingEnd Sub

VB如何连接到数据库

public

function

conopen()

as

sqlconnection

dim

str

as

string

str

=

“data

source=服务器名;initial

catalog=数据库名;integrated

security=true”

dim

cn

as

new

sqlconnection(str)

cn.open()

return

cn

end

function

这个写在模块中,在你需告裂宏源慎要用的地方

dim

con

as

new

sqlconnection

con

=

conopen()

con就是数据连袜册接

1楼的不错,本人人补偿下连接ACCESS和SQL server的

ACCESS:

Public conn As New Connection

Public Sub dbopen()

sdbname = App.Path + “\Database\ppower.mdb” ‘路径

sPassword = “” ‘进入数据库的密码

connstr = “Provider=Microsoft.Jet.OLEDB.4.0;” & “Persist Security Info=False;” & “Data Source=” & sdbname & “;” & “Jet OLEDB:Database Password=” & sPassword & “;”

conn.Open connstr ‘打开数据库

If conn.ConnectionString = “” Then

MsgBox “数据库连接错误”

Exit Sub

End If

End Sub

SQL SERVER

Option Explicit

Public g_Conn As Connection ‘用于全局的数据连接

Public g_DBPath As String ‘如果是Access数据库,记录下数据库的路径

‘ActiveX DLL的启动程序,为DLL初始化春庆罩时执行

Public Sub Main()

g_DBPath = App.Path & “\Database\ManageClient.mdb”

‘MsgBox g_DBPath

If ConnectToDatabase(DBAccess) = False Then

Err.Raise vbObjectError + 1, , “连接数据库出错!|” + App.Path + “|”

End If

End Sub

‘连接到数据库

Public Function ConnectToDatabase(Dype As gxcDype) As Boolean

On Error GoTo ERR_CONN

Set g_Conn = New Connection

‘设置服务差慎器名称,数据库名称,登录名(此时假设密码为空)

Dim ServerName As String, DBName As String, UserName As String, strPwd As String

‘这些是为连接Sql Server而用

ServerName = “localhost”

DBName = “ManageClient”

UserName = “sa”

strPwd = “”

‘连接到数据库

With g_Conn

.CursorLocation = adUseClient

.CommandTimeout = 10

If Dype = DBAccess Then

‘ 连接到ACCESS数据库

.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Password=”;” & _

“Data Source=” & g_DBPath

Else

‘ 连接到扒闹SQL Server数据库

.ConnectionString = “Provider=SQLOLEDB.1;Persist Security Info=True;” & _

“User ID=” & UserName & “;Initial Catalog=” & DBName & _

“;Data Source=” & ServerName & “;pwd=” & strPwd

End If

.Open

End With

ConnectToDatabase = True

Exit Function

ERR_CONN:

ConnectToDatabase = False

MsgBox Err.Description

End Function

很简单,引仿耐用microsoft

ado

2.1(2.5,2.6,2.7,2.8都行),然后写

dim

conn

as

new

adodb.connection

conn.open

“连接字符串,看你连接哪羡缓种数据库了”

这就兄大模连上了

Public

Function

conopen()

As

SqlConnection

Dim

str

As

String

str

=

“Data

Source=服务器名;Initial

Catalog=数据库名;Integrated

Security=True”

Dim

cn

As

New

SqlConnection(str)

cn.Open()

Return

cn

End

Function

这个写在芹铅册模块中,在你需要用的地方这样写

Dim

con

As

New

SqlConnection

con

=

conopen()

con就激丛是数据库的连嫌宏接

VB有多种方法连接数据库,不知道你想要怎么连? 还有要连接到什么样的数据库?

我这里给你提供个连接到Oracle的连接方法(利用oo4o).

Public OraDbSession As Object

Public OraDb As Object

Public myRs As Object

‘信衫连接数据库(用户名和密码,数据库名)

Function OraConn(UserID As String, Password As String, SouceName As String) As Boolean

On Error GoTo OraConn_Err

Set OraDbSession = CreateObject(“OracleInProcServer.XOraSession”)

Set OraDb = OraDbSession.dbopendatabase(SouceName, UserID & “/” & Password, 0)

OraConn = True

Exit Function

OraConn_Err:

OraConn = False

MsgBox Error

End Function

‘检索(Select…)

Function BookFound() As Boolean

Dim SQL As String

SQL = “SELECT bookid FROM BOOK”

On Error GoTo BookFound_Err

‘这里是调用衡坦铅上面那个函数

If Not OraConn(“用户名咐好”, “密码”, “数据库名”) Then

BookFound = False

Exit Function

Else

Set myRs = OraDb.dbcreatedynaset(SQL, 0)

End If

Do While Not myds.EOF

MsgBox myds.fields(0).Value

myds.MoveNext

Loop

myds.Close

Exit Function

BookFound_Err:

MsgBox Error

End Function

‘更新/删除/写数据

Public Sub DateUp()

Dim sql As String

sql = “insert…”

‘这里是调用上面那个函数

If OraConn(“用户名”, “密码”, “数据库名”) Then

OraDb.executesql (sql)

End If

End Sub

关于vb用户数据库连接的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » VB程序员必看:数据库连接技巧详解 (vb用户数据库连接)