vb连接sql数据库代码(VB如何连接SQL数据库,模块代码怎么改,如下:)

本文目录
VB如何连接SQL数据库,模块代码怎么改,如下:
.ConnectionString = “data source=MYSQL;initial catalog=SuperMarket;user id=sa;password=;database=SuperMarket;“
这句中的 password= 后要加上你的数据库的sa的密码。源程序中 sa 没密码是绝对不行的。
另外,你的数据库名 是否叫 SuperMarket?若不是则改过来。
一般说来,你应该另外建立一个用户,不要直接使用 sa 来访问数据库。
vb连接SQL数据库,要代码
给你一个示例代码吧
Private Sub cmdOK_Click()
Static nErr As Integer
Dim bErr As Boolean
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSql As String
If txtUser.Text = ““ Or txtPwd.Text = ““ Then
MsgBox “用户或密码不能为空!“, vbCritical, “错误“
bErr = True
Else
Set conn = OpenConnForSqlServer(“127.0.0.1\SQLEXPRESS“, “xsfh“, ““)
strSql = “select * from users where name = ’“ & txtUser.Text & “’ and password=’“ & txtPwd.Text & “’“
Set rs = OpenRecordset(strSql, conn)
If rs.EOF Then
MsgBox “错误的用户名或密码!“, vbCritical, “错误“
bErr = True
Else
Unload Me
frmMain.Show
End If
End If
If bErr Then
nErr = nErr + 1
If nErr = 3 Then
Unload Me
Else
txtUser.Text = ““
txtPwd.Text = ““
txtUser.SetFocus
End If
End If
End Sub
Public Function OpenConnForSqlServer(ByVal ServerName As String, ByVal UserId As String, ByVal PassWord As String, Optional ByVal DateBaseName As String = ““) As ADODB.Connection
Dim AdoConn As New ADODB.Connection
Dim strConn As String
With AdoConn
strConn = “Provider=SQLOLEDB.1;Persist Security Info=True;User ID=“ & UserId & “;Password=“ & PassWord & “;Data Source=“ & ServerName
If DateBaseName 《》 ““ Then strConn = strConn & “;database=“ & DateBaseName
.ConnectionString = strConn
.Open
End With
Set OpenConnForSqlServer = AdoConn
End Function
Public Function OpenConnForSqlServerByWin(ByVal ServerName As String, Optional ByVal DateBaseName As String = ““) As ADODB.Connection
Dim AdoConn As New ADODB.Connection
Dim strConn As String
With AdoConn
strSql = “Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=“ & ServerName
If DateBaseName 《》 ““ Then strConn = strConn & “;Initial Catalog=“ & DateBaseName
.ConnectionString = strConn
.Open
End With
Set OpenConnForSqlServerByWin = AdoConn
End Function
Public Function OpenRecordset(ByVal strSql As String, ByVal AdoConn As ADODB.Connection) As ADODB.Recordset
Dim rs As New ADODB.Recordset
With rs
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.Open strSql, AdoConn, , , adCmdText
End With
Set OpenRecordset = rs
End Function
Public Function RunTrans(ByVal tranSql As String, ByVal AdoConn As ADODB.Connection)
With AdoConn
.BeginTrans
.Execute tranSql
.CommitTrans
End With
End Function
VB怎么连接MSSql数据库
要连接SQL数据库有两种方法用ADODC或ADO。
方法一: (ADODC)
首先须引用Projects-Components-Microsoft ADO Data Controls 6.0 (OLEDB)。
之后在表单设置ADODC控件。然后Form_Load()输入以下代码:
Private Sub Form_Load()
ADODC1.ConnectionString = “Provider=SQLOLEDB;Password=密码;Persist Security Info=False;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器名“
ADODC1.CommandType = adCmdText
ADODC1.RecordSource = “select * from 表格名称“
ADODC1.Refresh
End Sub
方法二: (ADO)
首先须引用Projects-References-Microsoft Active X Data Objects 2.0 Library。
注意以下两段须写在程式最上面(Gerenal一般)中。
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim SQL As String
然后在Form_Load()输入以下代码:
Private Sub Form_Load()
cn.ConnectionString = “Provider=SQLOLEDB;Password=密码;Persist Security Info=False;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器名“
cn.Open
If rs.State = adStateOpen Then rs.Close
rs.CursorLocation = adUseClient
SQL = “select * from 表格名“
rs.Open Trim$(SQL), cn, adOpenKeyset, adLockPessimistic
End Sub
如何用VB实现连接SQL数据库
首先在工程中引用ado
然后在代码中连接
Set cnn = New ADODB.Connection
cnn = “Driver={SQL Server};Server=数据库主机IP地址;Database=你要连接的数据库名;Uid=数据库用户名;Pwd=连接密码“
cnn.Open
然后根据你的需求写sql语句取数即可.
VB如何用纯代码连接SQL数据库
VB连接SQL模块。直接拿去用吧。 Public conn As New ADODB.Connection Public rs As New ADODB.Recordset Public addFlag As Boolean Public Function OpenCn(ByVal Cip As String) As Boolean Dim mag As String On Error GoTo strerrmag Set conn = New ADODB.Connection conn.ConnectionTimeout = 25 conn.Provider = “sqloledb“ conn.Properties(“data source“).Value = Cip ’服务器的名字 conn.Properties(“initial catalog“).Value = “zqoa“ ’库名 ’conn.Properties(“integrated security“).Value = “SSPI“ ’登陆类型 conn.Properties(“user id“).Value = “sa“ conn.Properties(“password“).Value = “sa“ conn.Open OpenCn = True addFlag = True Exit Function strerrmag: mag = “Data can’t connect“ Call MsgBox(mag, vbOKOnly, “Error:Data connect“) addFlag = False Exit Function End Function Public Sub cloCn() On Error Resume Next If conn.State 《》 adStateClosed Then conn.Close Set conn = Nothing End Sub Public Function openRs(ByVal strsql As String) As Boolean ’连接数据库记录集 Dim mag As String Dim rpy As Boolean On Error GoTo strerrmag Set rs = New ADODB.Recordset If addFlag = False Then rpy = True With rs .ActiveConnection = conn .CursorLocation = adUseClient .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open strsql End With addFlag = True openRs = True End ’Exit Function strerrmag: mag = “data not connect“ Call MsgBox(mag, vbOKOnly, “error:connect“) openRs = False End ’Exit Function End Function Public Sub cloRs() On Error Resume Next If rs.State 《》 adStateClosed Then rs.Clone Set rs = Nothing End Sub
vb和sql数据库连接的代码
提前申明,转自别人的博客,供参考!希望可以帮到你,助人为乐!
第一步,在ModConString模块中定义一系列变量
’定义一个属性过程反映连接字符串
Public Property Get conString() As Variant
conString =
“data source=.;initial catalog=Sims_four;user
End
Property
’定义一个提供者反映数据库类型
Public Property Get conProvide() As
Variant
conProvide = “sqloledb“
End Property
第二步,建立一个类OpenRs.cls
Option Explicit
Private cnSIMS As ADODB.Connection
’声明一个连接
Private rsSims As ADODB.Recordset ’声明一个连接记录集
Public rs1 As ADODB.Recordset ’声明一个连接到所需表的记录集
Public
rs2 As ADODB.Recordset
Public rst As ADODB.Recordset
Private Data As
Object
’---------------------------------------------------------
’
在类初始化时建立连接
’---------------------------------------------------------
Private
Sub Class_Initialize()
On Error GoTo DbnotOpen
Set cnSIMS = New
ADODB.Connection
With cnSIMS
.Provider = conProvide
.ConnectionString = conString
.ConnectionTimeout = 10
.Open
Set rst = New ADODB.Recordset
End With
Exit
Sub
DbnotOpen:
If Err = -2147467259 Then
Set cnSIMS =
Nothing
MsgBox “连接后台数据库失败!“ & vbCrLf & vbCrLf &
“请检查配置是否完好,数据库Sims_four是否存在?“, vbOKOnly + vbInformation, “学生信息管理系统“
End
End If
End
Sub
’---------------------------------------------------------
’data是一个指向ADO记录集的对象的引用
’用于设置class的数据源内容
’---------------------------------------------------------
Private
Sub Class_GetDataMember(DataMember As String, Data As Object)
Set Data =
rsSims
End Sub
’-------------------------------------------------------
’建立一个可以打开记录集的函数,需要是必须把表名传给函数
’-------------------------------------------------------
Public
Function rsDK(Table As String)
Set rsSims = New ADODB.Recordset
With rsSims
.Source = Table
.ActiveConnection = cnSIMS
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open , ,
, , adCmdTable
End With
End
Function
’-------------------------------------------------------
’建立一个可以打开记录集(动态游标)的函数
’需要把SQL语句传递给函数
’-------------------------------------------------------
Public
Function rsDK1(sql As String)
Set rs1 = New ADODB.Recordset
With
rs1
.Source = sql
.ActiveConnection = cnSIMS
.CursorType =
adOpenKeyset
.LockType = adLockOptimistic
.Open , , , ,
adCmdText
End With
End
Function
’-------------------------------------------------------
’建立一个可以打开记录集(静态游标)的函数
’需要把SQL语句传递给函数
’-------------------------------------------------------
Public
Function rsDK2(sql As String)
Set rs2 = New ADODB.Recordset
With
rs2
.Source = sql
.ActiveConnection = cnSIMS
.CursorType =
adOpenStatic
.LockType = adLockOptimistic
.Open , , , ,
adCmdText
End With
End
Function
’-------------------------------------------------------
’类终止时,释放一切可能占据的资源
’-------------------------------------------------------
Private
Sub Class_Terminate()
Set cnSIMS = Nothing
Set rs1 =
Nothing
Set rs2 = Nothing
Set rsSims = Nothing
Set rst =
Nothing
End Sub
第三步,在窗体中使用这个类
Option Explicit
Dim myModiStudent As OpenRs ’声明连接数据库的类
Private Sub
Form_Load()
Set myModiStudent = New OpenRs
myModiStudent.rsDK1 “SELECT *
FROM student_info“ ’打开表,红字是表名
If Not myModiStudent.rs1.EOF Then
Set
StudentGrid.DataSource = myModiStudent.rs1 ’这里用到了MSHFlexGrid 控件
End
If
End Sub

更多文章:
bipolar(Bipolar工艺和BiCMOS工艺的区别与关系)
2026年10月16日 10:00
injured什么意思中文(wounded,hurt,injured,harmed之间有什么区别)
2026年10月16日 09:30
match parent(布局文件中fill_parent和match_parent有什么区别)
2026年10月16日 08:40
什么时候用group by(数据库group by用法是怎么样的)
2026年10月16日 08:30
开源软件的利弊(为什么使用开源软件比购买专有云平台软件更可取)
2026年10月16日 08:00






