你好,请教一个问题。现在我想写一个DLL,就是希望别人直接调用这个DLL就可以访问我数据库某些表的信息,就是不希望直接来读取数据库的信息,帮帮忙
解决方案 »
- 能不能动态改变TEXTBOX的风格?
- vb 连接sql2000 数据库 超慢的问题~
- 各位高手过来看看,小弟遇到一个问题!
- 请问,VB中是否可以实现对象的序列化,如果可以应该如何去做。
- 如何用程序(vb),在局域网里,不同ip的 机器间传送文件.
- 单击datagrid的表头某一列,按其列自动排序
- 请大家帮帮我?
- Why the Webbrowser ocx is not XP style even any other ocxes in my program has already turned xp style after attached *.manifest!
- 简 单 的 V B A P I 问 题 . . 1 0 0 分 白 送|||||||||||||||||||
- 有关Access数据库的问题,能建立2个recordset吗?
- 如何卸载指定进程的模块?
- 找人做IM即时通通讯工具!如阿里旺旺,商务通这类!
Private mCnn As New ADODB.Connection
Public Enum cnnType
unKown
Home
Net
End Enum
Private mType As cnnType
Private sErrorMsg As String '返回错误信息值.Public Function GetCnn(eType As cnnType, Optional bReturn As Boolean) As ADODB.Connection
Dim strCnn As String
Dim sMode As String
On Error GoTo nErr
mType = eType
If mCnn.State = adStateClosed Then Select Case mType
Case cnnType.Home
strCnn = "Provider=MSDataShape.1;Persist Security Info=True;Data Source=.;User ID=sa;Password=123;Initial Catalog=WG;Data Provider=SQLOLEDB.1"
Case cnnType.Net
strCnn = "Provider=MSDataShape.1;Persist Security Info=True;Data Source=CQDM-YZN\WGSQLS;User ID=sa;Password=123;Initial Catalog=WG;Data Provider=SQLOLEDB.1"
Case cnnType.unKown
strCnn = "Provider=MSDataShape.1;Persist Security Info=True;Data Source=.;User ID=sa;Password=123;Initial Catalog=WG;Data Provider=SQLOLEDB.1"
End Select
With mCnn
.CursorLocation = adUseClient
.ConnectionString = strCnn
.Open
End With
End If
Set GetCnn = mCnn
bReturn = True
Exit Function
nErr:
Select Case eType
Case Home
sMode = "Home"
Case Net
sMode = "Net"
Case Else
sMode = "unkown"
End Select
sErrorMsg = "打开连接出错 In yznWGDLL . 模式为:" & sMode & Err.Description
Err.Clear
bReturn = FalseEnd Function
Private Function OpenCnn() As Boolean Call GetCnn(mType)
If mCnn Is Nothing Then
OpenCnn = False
Exit Function
ElseIf mCnn.State = adStateClosed Then
OpenCnn = False
Else
OpenCnn = True
End If
End Function
Public Property Get getCnnType() As cnnType
getCnnType = mType
End PropertyPublic Function SQLNow() As Date
Dim rst As New ADODB.Recordset
If OpenCnn Then
rst.Open "select getdate()", mCnn, adOpenStatic, adLockOptimistic
SQLNow = CDate(rst.Fields(0).Value)
Else
SQLNow = Now
End If
Debug.Print SQLNowEnd FunctionPublic Function GetRst(strSQL As String, Optional ByRef bRetrun As Boolean) As ADODB.Recordset
On Error GoTo nErr
Dim rst As New ADODB.Recordset
If OpenCnn Then
rst.Open strSQL, mCnn, adOpenDynamic, adLockOptimistic
Set GetRst = rst
End If
bRetrun = True
Exit Function
nErr:
sErrorMsg = Err.Description & " In yznWGDLL"
bRetrun = False
Err.Clear
End FunctionPublic Sub CloseCnn()
mCnn.Close
End SubPrivate Sub Class_Terminate()
On Error Resume Next
If Not mCnn Is Nothing Then
If mCnn.State = adStateOpen Then
mCnn.Close
End If
Set mCnn = Nothing
End IfEnd Sub
Public Function CreateCommand(sCommandText As String, Optional ByRef bReturn As Boolean) As ADODB.Command
Dim cmd As New ADODB.Command
If OpenCnn Then
With cmd
Set .ActiveConnection = mCnn
.CommandText = sCommandText
.CommandType = adCmdStoredProc
End With
Set CreateCommand = cmd
bReturn = True
Else
bReturn = False
End If
End FunctionPublic Function ExecuteScalar(sSQL As String, Optional ByRef bReturn As Boolean) As Variant
On Error GoTo nErr
Dim rst As ADODB.Recordset
Dim b As Boolean
Set rst = GetRst(sSQL, b)
If b Then
With rst
If Not .EOF Then
If Not IsNull(.Fields(0).Value) Then
ExecuteScalar = .Fields(0).Value
End If
End If
End With
bReturn = True
Else
bReturn = False
End If
Exit Function
nErr:
bReturn = False
sErrorMsg = Err.Description
Err.Clear
End Function
Public Sub ExecuteNonQuery(cmd As ADODB.Command, Optional ByRef bReturn As Boolean)
On Error GoTo nErr
cmd.Execute
bReturn = True
Exit Sub
nErr:
bReturn = False
sErrorMsg = Err.Description
Err.Clear
End SubPublic Function getErrMSG() As String
getErrMSG = sErrorMsg
End Function
Case cnnType.Home
strCnn = "Provider=MSDataShape.1;Persist Security Info=True;Data Source=.;User ID=sa;Password=123;Initial Catalog=WG;Data Provider=SQLOLEDB.1"
Case cnnType.Net
strCnn = "Provider=MSDataShape.1;Persist Security Info=True;Data Source=CQDM-YZN\WGSQLS;User ID=sa;Password=123;Initial Catalog=WG;Data Provider=SQLOLEDB.1"
Case cnnType.unKown
strCnn = "Provider=MSDataShape.1;Persist Security Info=True;Data Source=.;User ID=sa;Password=123;Initial Catalog=WG;Data Provider=SQLOLEDB.1"
没明白是什么意思啊?home,net unkown这些拿来干什么呢?