恩,我想在一个软件里加上和数据库的连接应该怎么弄?能给点意见么?
解决方案 »
- VB如何删除Spreadsheet表格中A列的空单元格所在的行
- 怎么实现urldowloadtofile下载完毕后弹出提示消息框
- 求助:VB的MDI主窗體UNLOAD時如何根據子窗體的選擇是否關閉而操作
- 我在做一个画图工具,到保存这一个就不行了,为什么?
- 怎样做一个程序能像飞鸽那样快速PING到局域网存活的机子啊?
- 请问 以下的 vb 透过 ado 与sql的 连接 如何 显示在datagrid1中呢
- OLE控件显示的问题?
- bit型数据在DataGrid中的显示问题
- 另一个问题,我安装了win2000 和 office2000,而软件连接的是 Access97,现在连接不上了如何解决???
- 高分求助:Vb发邮件问题
- 请问怎么样用enter键来控制焦点的移动?
- picturebox问题(50分)
Public DbStyle As String'/数据库类型.
Public Enum SmDbType
Access = 1 'Access
Excel = 2 'Excel
Text = 3 '文本
FoxPro = 4 'FoxPro
dBase = 5 'dBase
End Enum'
'创建一个连接(连接到其它数据库类型)
'函数名:CreateOtherConn
'参数: DbConnection ADODB连接,FilePath 数据库路径,UserName 登录用户名,PassWord 登录密码,DbType SmDbType枚举数据库类型
'返回值:TRUE 连接成功.FALSE 连接失败.
'例:
'CreateOtherConn Cnn, "E:\CjhLx\dbf", , , FoxPro
'StrSql = "select * from [employee.dbf]"
'Set Rs = RsOpen(Cnn, StrSql)
'Set DataGrid1.DataSource = RsPublic Function CreateOtherConn(ByRef DbConnection As ADODB.Connection, _
FilePath As String, _
Optional UserName As String = "admin", _
Optional PassWord As String = "", _
Optional DbType As SmDbType = Access) As Boolean
Dim ConnStr As String
Dim DriveName(5) As String
Dim tDbType(5) As String
Dim UserPwd(5) As String
'/驱动程序
DriveName(1) = "{Microsoft Access Driver (*.mdb)}"
DriveName(2) = "{Microsoft Excel Driver (*.xls)}"
DriveName(3) = "{Microsoft Text Driver (*.txt; *.csv)}"
DriveName(4) = "{Microsoft Visual FoxPro Driver};SourceType=DBF"
DriveName(5) = "{Microsoft dBase Driver (*.dbf)}"
'/类型
tDbType(1) = "MDB"
tDbType(2) = "XLS"
tDbType(3) = "TXT"
tDbType(4) = "FDB"
tDbType(5) = "DDB"
'/用户名和密码.
UserPwd(1) = "Uid=" & UserName & ";Pwd=" & PassWord & ";"
UserPwd(2) = "Uid=" & UserName & ";Pwd=" & PassWord & ";"
UserPwd(3) = ""
UserPwd(4) = "Uid=" & UserName & ";Pwd=" & PassWord & ";"
UserPwd(5) = "Uid=" & UserName & ";Pwd=" & PassWord & ";"
On Error Resume Next
If DbConnection.State = adStateOpen And Not IsEmpty(adStateOpen) Then
DbConnection.Close
End If
ConnStr = "Provider=MSDASQL.1;Persist Security Info=False;DRIVER=" & DriveName(DbType) & ";" & UserPwd(DbType) & "DBQ=" & FilePath
DbConnection.ConnectionString = ConnStr
DbConnection.Open
DoEvents
If Err.Number = 0 Then
DbStyle = tDbType(DbType)
CreateOtherConn = True
Else
Err.Clear
DbStyle = ""
CreateOtherConn = False
End If
End Function
Dim DbStyle As String
'
'创建一个连接(连接到SQL)
'函数名:CreateSqlConn
'参数: DbConnection ADODB连接,ServerName 服务器名,DBname 数据库名,UserID 登录用户名,UPw 登录密码,Timerout 连接超时
'返回值:TRUE 连接成功.FALSE 连接失败.
'例: CreateSqlConn p_cnn,"CJH","cjherp001","sa","123",15
'
Public Function CreateSqlConn(ByRef DbConnection As ADODB.Connection, _
ServerName As String, _
DbName As String, _
UserID As String, _
UPw As String, _
Optional Timerout As Long = 15) As Boolean
Dim ReturnVal As Boolean On Error Resume Next If DbConnection.State = adStateOpen And Not IsEmpty(adStateOpen) Then
DbConnection.Close
End If
'/连接1
DbConnection.Provider = "MSDASQL.1"
DbConnection.ConnectionString = "Driver={SQL Server};Server=" & ServerName & ";DataBase=" & DbName & ";Uid=" & UserID & ";Pwd=" & UPw & ";APP=" & App.Path & ";WSID=" & UserID & ";Connect Timeout=" & Timerout & ";"
'/--------------------------------------------------------------------------------------------
'/连接2 Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=cjh
'/ DbConnection.Provider = "SqloleDB.1"
'/ DbConnection.ConnectionString = "Database=" & DBname & ";Server=" & ServerName & ";Uid=" & UserID & ";Pwd=" & UPw & ";Connect Timeout=" & Timerout & ";"
'/---------------------------------------------------------------------------------------------
DbConnection.ConnectionTimeout = Timerout
DbConnection.CommandTimeout = Timerout
DbConnection.Open
DoEvents
If Err.Number = 0 Then
DbStyle = "SQL"
ReturnVal = True
Else
Err.Clear
DbStyle = ""
ReturnVal = False
End If
CreateSqlConn = ReturnVal
End Function