dim conn as new adodb.connection With conn If .State = adStateOpen Then .Close .ConnectionString = "driver=SQL Server;server=" & 服务器名或IP地址 & ";uid=sa;pwd=;database=" & 数据库名 .CommandTimeout = 300 .Open End With
Private Sub Form_Load() '首選引用ADO2.5或以上版本 '在菜單 'project-References...-Microsoft ActiveX Data Objects 2.5 Librarydim cn as new adodb.connection if cn.state=adstateopen then cn.close with cn .provider="sqloledb" .connectionstring="data source=你的Sql服務器;initial catalog=你的數據庫名稱;user id=sa;password=你的密碼" .open end with msgbox "連上了數據庫"End Sub
'将以下函数加入你的程序模块,在程序中直接调用:Public Function vConnection_ADO(adoCnn As ADODB.Connection, DataPathName As String, Optional userid As String, Optional PassWord As String, Optional ServerName As String, Optional nFlag As Integer = 0, Optional nWinntFlag As Boolean = True) As Boolean '************************************************************************************************** '功能:用 ADO 连接数据库(服务器),如果连接成功则返回 True 并且返回 adoCnn 连接对象供程序使用 '参数:当 nFlag = 0 时是连接 Access 数据库,DataPathName 为数据库名称路径 ' 当 nFlag = 1 时是连接 SQL Server 服务器,ServerName为服务器名,DataPathName为数据库名称 ' 当 nFlag = 2 时是连接 ODBC 数据源数据库,DataPathName 为数据源名称 ' 当 nFlag = 1、2 时 nWinntFlag 启用:= True为系统集成安全访问,= False为用户名和密码访问 ' 访问数据库的用户名和密码分别为:UserID 和 PassWord '时间:2004 年 08 月 04 日 ALEX ADD '************************************************************************************************** On Error GoTo errHandlerr
Dim CnnStr As String
vConnection_ADO = False If Trim(DataPathName) = "" Then MsgBox "被连接的数据库名称为空,连接失败!", vbCritical, "数据库名不能为空 ..." Exit Function End If If nFlag = 0 Then CnnStr = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" + DataPathName + " ;Persist Security Info=False;Jet OLEDB:Database Password=" + PassWord ElseIf nFlag = 1 Then If Trim(ServerName) = "" Then ServerName = "LIBINGAO" // 服务器名,可根据实际修改 If Trim(userid) = "" Then userid = "sa" If nWinntFlag Then CnnStr = "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=" + DataPathName + ";Data Source=" + ServerName + "; Integrated Security=SSPI;" Else CnnStr = "Provider=SQLOLEDB.1;Persist Security Info=True; Initial Catalog=" + DataPathName + ";Data Source=" + ServerName + "; User ID=" + userid + ";Password=" + PassWord End If ElseIf nFlag = 2 Then If Trim(ServerName) = "" Then ServerName = "" If Trim(userid) = "" Then userid = "admin" If nWinntFlag Then CnnStr = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=" + DataPathName + ";Initial Catalog=" + ServerName '由于初始目录事先未知,故在此用 ServerName 置空 Else CnnStr = "Provider=MSDASQL.1;Persist Security Info=True ;Data Source=" + DataPathName + ";Initial Catalog=" + ServerName + ";User ID=" + userid + ";Password=" + PassWord End If End If
With adoCnn If .State = adStateOpen Then .Close .ConnectionString = CnnStr .Open ', , , adAsyncConnect ' 参数 adAsyncConnect 用于异步打开连接(不必等待),此时要用 WithEvents 关键字声明 adoCnn If .State = adStateOpen Then ' 用 ADO 连接 指定数据库成功,函数返回 True 和 已连接好的 对象 adoCnn vConnection_ADO = True Else ' 用 ADO 连接 指定数据库失败,函数返回 False 并弹出报错对话框 errHandlerr: If Trim(err.Description) <> "" Then MsgBox err.Description + ":" + CStr(err.number) + vbCrLf + "用 ADO 连接数据库 < " + DataPathName + " > 失败,你可能不能正常使用当前功能界面!", vbCritical, "数据库连接发生错误 ..." Else MsgBox "用 ADO 连接数据库 <" + DataPathName + "> 失败,你可能不能正常使用当前功能界面!", vbCritical, "数据库连接发生错误 ..." End If End If End With
工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) Dim CN As New ADODB.Connection '定义数据库的连接 Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=northwind;User Id=sa;Password=xxx;" CN.Open请检查服务器名、数据库、用户名、密码是否正确,还有SQL SERVER的权限设置 CN.ConnectionString = "Provider=sqloledb;Data Source=服务器名;Initial Catalog=数据库;User Id=用户名;Password=密码;"
加个ADO控件 然后用猩猩们的代码实现!!
程序如下: Set cnn = New ADODB.Connection
If cnn.State = adStateOpen Then cnn.Close With cnn .Provider = "sqloledb" .ConnectionString = "data source = shuab;initial catelog = Ticket;user id = sa; password =" .Open
End With MsgBox "connect the database" 但是还是连接不成功。 我想问的是,数据库名要全部路径吗?
Dim CN As New ADODB.Connection '定义数据库的连接 Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=sqloledb;Data Source=SHUAB;Initial Catalog=northwind;User Id=sa;Password=;" CN.Open 我运行了一遍,出现如下错误:用户'sa'登陆失败,原因:未与信任 sql server 连接相关联.请问这是什么原因.
Dim conn As New ADODB.Connection With conn If .State = adStateOpen Then .Close .ConnectionString = "driver=SQL Server;server= SHUAB;uid=sa;pwd=;database=Northwind " .Open End With出现如下问题:难道我数据库装错了。 [microsoft][odbc sql server driver][dbnetlib] sql server 不存在或拒绝存取.
//用户'sa'登陆失败,原因:未与信任 sql server 连接相关联.请问这是什么原因.你的 Password 不对/*Dim CN As New ADODB.Connection '定义数据库的连接 Dim Rs As New ADODB.Recordset CN.ConnectionString = "Provider=sqloledb;Data Source=SHUAB;Initial Catalog=northwind;User Id=sa;Password=;" CN.Open*/这里的 Password 为空,检查你的数据库 SA 的密码是否为空.
出现如下问题:难道我数据库装错了。 [microsoft][odbc sql server driver][dbnetlib] sql server 不存在或拒绝存取.=================='工程->引用Microsoft ActiveX Data Objects 2.x Library Option Explicit Public mCnnString As StringPrivate Sub Command1_Click() Dim mRst As New ADODB.Recordset Dim mCon As New ADODB.Connection
mCon.Open mCnnString mRst.CursorLocation = adUseClient mRst.Open "Select * From Orders", mCnnString, adOpenStatic, adLockOptimistic, adCmdText Set DataGrid1.DataSource = mRst End Sub
With conn
If .State = adStateOpen Then .Close
.ConnectionString = "driver=SQL Server;server=" & 服务器名或IP地址 & ";uid=sa;pwd=;database=" & 数据库名
.CommandTimeout = 300
.Open
End With
'首選引用ADO2.5或以上版本
'在菜單 'project-References...-Microsoft ActiveX Data Objects 2.5 Librarydim cn as new adodb.connection
if cn.state=adstateopen then cn.close
with cn
.provider="sqloledb"
.connectionstring="data source=你的Sql服務器;initial catalog=你的數據庫名稱;user id=sa;password=你的密碼"
.open
end with
msgbox "連上了數據庫"End Sub
'**************************************************************************************************
'功能:用 ADO 连接数据库(服务器),如果连接成功则返回 True 并且返回 adoCnn 连接对象供程序使用
'参数:当 nFlag = 0 时是连接 Access 数据库,DataPathName 为数据库名称路径
' 当 nFlag = 1 时是连接 SQL Server 服务器,ServerName为服务器名,DataPathName为数据库名称
' 当 nFlag = 2 时是连接 ODBC 数据源数据库,DataPathName 为数据源名称
' 当 nFlag = 1、2 时 nWinntFlag 启用:= True为系统集成安全访问,= False为用户名和密码访问
' 访问数据库的用户名和密码分别为:UserID 和 PassWord
'时间:2004 年 08 月 04 日 ALEX ADD
'**************************************************************************************************
On Error GoTo errHandlerr
Dim CnnStr As String
vConnection_ADO = False
If Trim(DataPathName) = "" Then
MsgBox "被连接的数据库名称为空,连接失败!", vbCritical, "数据库名不能为空 ..."
Exit Function
End If
If nFlag = 0 Then
CnnStr = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" + DataPathName + " ;Persist Security Info=False;Jet OLEDB:Database Password=" + PassWord
ElseIf nFlag = 1 Then
If Trim(ServerName) = "" Then ServerName = "LIBINGAO" // 服务器名,可根据实际修改
If Trim(userid) = "" Then userid = "sa"
If nWinntFlag Then
CnnStr = "Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=" + DataPathName + ";Data Source=" + ServerName + "; Integrated Security=SSPI;"
Else
CnnStr = "Provider=SQLOLEDB.1;Persist Security Info=True; Initial Catalog=" + DataPathName + ";Data Source=" + ServerName + "; User ID=" + userid + ";Password=" + PassWord
End If
ElseIf nFlag = 2 Then
If Trim(ServerName) = "" Then ServerName = ""
If Trim(userid) = "" Then userid = "admin"
If nWinntFlag Then
CnnStr = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=" + DataPathName + ";Initial Catalog=" + ServerName '由于初始目录事先未知,故在此用 ServerName 置空
Else
CnnStr = "Provider=MSDASQL.1;Persist Security Info=True ;Data Source=" + DataPathName + ";Initial Catalog=" + ServerName + ";User ID=" + userid + ";Password=" + PassWord
End If
End If
With adoCnn
If .State = adStateOpen Then .Close
.ConnectionString = CnnStr
.Open ', , , adAsyncConnect ' 参数 adAsyncConnect 用于异步打开连接(不必等待),此时要用 WithEvents 关键字声明 adoCnn
If .State = adStateOpen Then ' 用 ADO 连接 指定数据库成功,函数返回 True 和 已连接好的 对象 adoCnn
vConnection_ADO = True
Else ' 用 ADO 连接 指定数据库失败,函数返回 False 并弹出报错对话框
errHandlerr:
If Trim(err.Description) <> "" Then
MsgBox err.Description + ":" + CStr(err.number) + vbCrLf + "用 ADO 连接数据库 < " + DataPathName + " > 失败,你可能不能正常使用当前功能界面!", vbCritical, "数据库连接发生错误 ..."
Else
MsgBox "用 ADO 连接数据库 <" + DataPathName + "> 失败,你可能不能正常使用当前功能界面!", vbCritical, "数据库连接发生错误 ..."
End If
End If
End With
End Function
工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号) Dim CN As New ADODB.Connection '定义数据库的连接
Dim Rs As New ADODB.Recordset
CN.ConnectionString = "Provider=sqloledb;Data Source=pmserver;Initial Catalog=northwind;User Id=sa;Password=xxx;"
CN.Open请检查服务器名、数据库、用户名、密码是否正确,还有SQL SERVER的权限设置
CN.ConnectionString = "Provider=sqloledb;Data Source=服务器名;Initial Catalog=数据库;User Id=用户名;Password=密码;"
然后用猩猩们的代码实现!!
Set cnn = New ADODB.Connection
If cnn.State = adStateOpen Then cnn.Close
With cnn
.Provider = "sqloledb"
.ConnectionString = "data source = shuab;initial catelog = Ticket;user id = sa; password ="
.Open
End With
MsgBox "connect the database"
但是还是连接不成功。
我想问的是,数据库名要全部路径吗?
Dim Rs As New ADODB.Recordset
CN.ConnectionString = "Provider=sqloledb;Data Source=SHUAB;Initial Catalog=northwind;User Id=sa;Password=;"
CN.Open
我运行了一遍,出现如下错误:用户'sa'登陆失败,原因:未与信任 sql server 连接相关联.请问这是什么原因.
With conn
If .State = adStateOpen Then .Close
.ConnectionString = "driver=SQL Server;server= SHUAB;uid=sa;pwd=;database=Northwind "
.Open
End With出现如下问题:难道我数据库装错了。
[microsoft][odbc sql server driver][dbnetlib] sql server 不存在或拒绝存取.
Dim Rs As New ADODB.Recordset
CN.ConnectionString = "Provider=sqloledb;Data Source=SHUAB;Initial Catalog=northwind;User Id=sa;Password=;"
CN.Open*/这里的 Password 为空,检查你的数据库 SA 的密码是否为空.
[microsoft][odbc sql server driver][dbnetlib] sql server 不存在或拒绝存取.=================='工程->引用Microsoft ActiveX Data Objects 2.x Library
Option Explicit
Public mCnnString As StringPrivate Sub Command1_Click()
Dim mRst As New ADODB.Recordset
Dim mCon As New ADODB.Connection
mCnnString = "driver={SQL Server};server=SHUAB;uid=sa;pwd=;ConnectionTimeout=0;database=Northwind"
mCon.Open mCnnString
mRst.CursorLocation = adUseClient
mRst.Open "Select * From Orders", mCnnString, adOpenStatic, adLockOptimistic, adCmdText
Set DataGrid1.DataSource = mRst
End Sub