我的SQL server 2000版本是个人版,采用本地系统帐户,混合登陆模式,系统管理员sa密码为sa,此三项均是安装时设定的.
连接数据库时总是连接不上,请各位高手指教.Public Const SQL_SUCCESS As Long = 0
Public Const SQL_SUCCESS_WITH_IHFO As Long = 1
Public Const DATABASE As String = "StudentSys" '该数据源已经驱动
Public Const DSN As String = "StudentSys"
Public Const DB_USER_NAME As String = "sa"
Public Const DB_PASSWORD As String = "sa"Private Sub Connect()
Dim TmpStat As Long 'SQLConnect()函数的返回值
'如果连接标记为真,则返回,否则会出错
If IsConnect = True Then
Exit Sub
End If
'分配环境句柄,保存在变量Henv中
If SQLAllocEnv(Henv) Then
MsgBox "无法初始化ODBC环境!", , "ODBC API执行错误"
End
End If
'根据环境句柄,分配连接句柄,保存在变量Hdbc中
If SQLAllocConnect(Henv, Hdbc) Then
MsgBox "无法连接ODBC!", , "ODBC API执行错误"
End
End If
'根据连接句柄、数据源、用户名和密码连接指定的数据库
TmpStat = SQLConnect(Hdbc, DSN, Len(DSN), DB_USER_NAME, _
Lench(DB_USER_NAME), DB_PASSWORD, Len(DB_PASSWORD))
'如果连接不成功则退出程序
If TmpStat <> SQL_SUCCESS And _
TmpStat <> SQL_SUCCESS_WITH_INFO Then
MsgBox "无法获得连接句柄!", , "ODBC API执行错误"
IsConnect = True
Disconnect
End
End If
'设置连接标记
IsConnect = True
End Sub进入此函数后总是无法获得连接句柄.
连接数据库时总是连接不上,请各位高手指教.Public Const SQL_SUCCESS As Long = 0
Public Const SQL_SUCCESS_WITH_IHFO As Long = 1
Public Const DATABASE As String = "StudentSys" '该数据源已经驱动
Public Const DSN As String = "StudentSys"
Public Const DB_USER_NAME As String = "sa"
Public Const DB_PASSWORD As String = "sa"Private Sub Connect()
Dim TmpStat As Long 'SQLConnect()函数的返回值
'如果连接标记为真,则返回,否则会出错
If IsConnect = True Then
Exit Sub
End If
'分配环境句柄,保存在变量Henv中
If SQLAllocEnv(Henv) Then
MsgBox "无法初始化ODBC环境!", , "ODBC API执行错误"
End
End If
'根据环境句柄,分配连接句柄,保存在变量Hdbc中
If SQLAllocConnect(Henv, Hdbc) Then
MsgBox "无法连接ODBC!", , "ODBC API执行错误"
End
End If
'根据连接句柄、数据源、用户名和密码连接指定的数据库
TmpStat = SQLConnect(Hdbc, DSN, Len(DSN), DB_USER_NAME, _
Lench(DB_USER_NAME), DB_PASSWORD, Len(DB_PASSWORD))
'如果连接不成功则退出程序
If TmpStat <> SQL_SUCCESS And _
TmpStat <> SQL_SUCCESS_WITH_INFO Then
MsgBox "无法获得连接句柄!", , "ODBC API执行错误"
IsConnect = True
Disconnect
End
End If
'设置连接标记
IsConnect = True
End Sub进入此函数后总是无法获得连接句柄.
解决方案 »
- vb中 多个listview 之间数据动态非同时移动
- VB 编程通过互联网 连接 SQL server 2000 数据库
- 用VB6 如何获取/修改windows记事本(Notepad)菜单上的文字
- ActiveX 控件的问题。
- 有意做兼职软件开发的进来,主要开发用户界面,和串行通讯。地点在北京东城区。
- 我有一个很难的问题,请高手帮忙!谢谢
- 关于 VB 进度条
- 请教如何使动态生成的recordset数据在CrystalReport9中显示?
- 如何判断一个动态数组为空?如何判断一个文本文件为空?
- 哪位大侠解决在下几个问题中的任何一个,即送500分,决不食言!(有请TECHOFANTASY大侠)
- VB中用ADODB连接的数据库,怎么对表进行操作啊
- 如何用vb代码删除指定路径的文件或文件夹?急!急!
Dim msgtext As String
Dim mrc As ADODB.RecordsetPublic Function ExecuteSQL(ByVal sql As String, MsgString As String) As ADODB.Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
'Dim SQL As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(sql)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then
cnn.Execute sql
MsgString = sTokens(0) & "query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & "条纪录"
End If
ExecuteSQL_Exit:
Set rst = Nothing
Exit Function
Set cnn = Nothing
ExecuteSQL_Error:
MsgString = "查询错误:" & Err.Description
Resume ExecuteSQL_Exit
End FunctionPublic Function ConnectString() As String
ConnectString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=登陆数据库的名;Data Source=ip或机器名"
End Function
If SQLAllocEnv(Henv) Then
MsgBox "无法初始化ODBC环境!", , "ODBC API执行错误"
End
End If
'根据环境句柄,分配连接句柄,保存在变量Hdbc中
If SQLAllocConnect(Henv, Hdbc) Then
MsgBox "无法连接ODBC!", , "ODBC API执行错误"
End
End If
你的两个函数的参数好象数量上不对,第一个需要4个,后一个需要3个,不过我看的是C语言范例,而且VB里也没用过SQL API方式来连数据库。你再查查看吧。