我用VB和SQL编了一个程序,但是怎样也连接不上,不知道哪里出错了?我现在把程序写出来,希望各位高手帮帮忙,看一下哪里出错了??在此先谢谢了!!
。
。
Public Function ConnectString() _
As String
'returns a DB ConnectString
ConnectString = "FileDSN=studentinfo.dsn;UID=sa;PWD=wf"
End Function
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset
'executes SQL and returns Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() 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
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
。
。
Public Function ConnectString() _
As String
'returns a DB ConnectString
ConnectString = "FileDSN=studentinfo.dsn;UID=sa;PWD=wf"
End Function
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset
'executes SQL and returns Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() 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
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
解决方案 »
- 如何获得本机默认网络连接的用户名和密码
- 下载在网页中位置固定但文件名无规律的系列图片
- 是否需要显式的关闭连接、数据集合?
- 控件过期怎么办,什么引起的?Run-time error '4372'
- 如何使用excel的模板来做报表?
- 我如何能使ComboBox象LIstbox一样不能让用户在界面上编辑?
- feilong215 进来拿分
- 急!VISUAL STUDIO 6.0的安装问题!
- 我的后台数据库是Oracle8i,客户端前台程序用VB编写,在客户端还需要安装哪些和Oracle相关的东东?
- ★不可思议!!!WinXP竟是由Basic写成?!
- 在程序中如何取到错误代码
- CSDNExplorer V0.1发布,大量导入CSDN精华帖子!!(VB开发,需要源代码的可与我联系)
Function PublicMdbClose()
If SqlConn.State <> 0 Then SqlConn.Close: Set SqlConn = Nothing
End Function
Public SqlConn As New ADODB.Connection'功能简介:建立SQL数据库公共链接
'参数一:服务器名或IP
'参数二:数据库名称
'参数三:登陆用户名称
'参数四:登陆用户密码
'参数五:延时
'返回值:"ok"--成功, 否则返回错误信息
Function PulbicSQLConn(StrServerName As String, StrDataName As String, StrUserName As String, StrPassword As String, IntOutTime As Integer) As String
On Error GoTo SQLConnErr
Dim StrSql As String
If SqlConn.State <> 0 Then SqlConn.Close
SqlConn.ConnectionTimeout = IntOutTime
SqlConn.Open StrSql
PulbicSQLConn = "ok"
Exit Function
SQLConnErr:
PulbicSQLConn = Err.Description
If SqlConn.State <> 0 Then SqlConn.Close: Set SqlConn = Nothing
End Function
Dim rst As ADODB.Recordset
应为
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset