找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 5548|回复: 1

[数据库类] VB连接各种数据库方法

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2012-3-11 10:17:19 | 显示全部楼层 |阅读模式
  1. Option Explicit
  2. Public mCnnDB As New ADODB.Connection

  3. '设置ODBC
  4. Public Const ODBC_ADD_DSN = 1 ' Add data source
  5. Public Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source
  6. Public Const ODBC_REMOVE_DSN = 3 ' Remove data source
  7. Public Const vbAPINull As Long = 0& ' NULL Pointer
  8. Public Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" (ByVal hwndParent As Long, ByVal fRequest As Long, ByVal lpszDriver As String, ByVal lpszAttributes As String) As Long

  9. Public Sub CreateAccess(ByVal AccessDBName As String)
  10.     '创建Microsoft Access数据库
  11.    Dim cat As New ADOX.Catalog
  12.     cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AccessDBName
  13. End Sub

  14. Public Sub CompactAccess2(ByVal OldDBName As String, ByVal NewDBName As String, ByVal UserPSW As String)
  15.     '需要用户名称和密码压缩修复Microsoft Access数据库
  16.    Dim myJRO As JRO.JetEngine
  17.     Set myJRO = New JRO.JetEngine
  18.     If Trim(OldDBName) = "" Then
  19.         MsgBox "源数据库名称非法", vbCritical
  20.         Exit Sub
  21.     End If
  22.     If Trim(NewDBName) = "" Then
  23.         MsgBox "目标数据库名称非法", vbCritical
  24.         Exit Sub
  25.     End If
  26.     myJRO.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0" & "data source='" & OldDBName & "'", "Provider=Microsoft.Jet.OLEDB.4.0" & "data source='" & NewDBName & "'" & "pwd=" & UserPSW
  27. End Sub


  28. Public Sub ConnectAccess(ByVal DBName As String, ByVal UserID As String, ByVal UserPSW As String)
  29.     '链接Microsoft Access数据库
  30.    'DBName指Microsoft Access数据库名称
  31.    Dim strDB As String
  32.     With mCnnDB
  33.         .CursorLocation = adUseClient
  34.         .Provider = "Microsoft.Jet.OLEDB.4.0"
  35.         .ConnectionString = "userid='" & UserID & "';" & "password='" & UserPSW & "';" & "datasource='" & DBName & "'"
  36.         .Open DBName, "admin"
  37.     End With
  38. End Sub

  39. Public Sub ConnectODBC1(ByVal DSName As String)
  40.     '不需要用户和密码链接ODBC数据库
  41.    'DSName指ODBC数据库名称
  42.    With mCnnDB
  43.         .Provider = "MSDASQL"
  44.         .ConnectionString = "data source'" & DSName & "'"
  45.         .Open
  46.     End With
  47. End Sub

  48. Public Sub ConnectODBC2(ByVal DSName As String, ByVal UserID As String, ByVal UserPSW As String)
  49.     '需要用户和密码链接ODBC数据库
  50.    'DSName指ODBC数据库名称
  51.    With mCnnDB
  52.         .Provider = "MSDASQL"
  53.         .ConnectionString = "data source'" & DSName & "'User ID='" & UserID & "';" & "Password='" & UserPSW & "'"
  54.         .Open
  55.     End With
  56. End Sub

  57. Public Sub ConnectSQLServer1(ByVal ServerName As String, ByVal DBName As String)
  58.     '不需要用户和密码链接Microsoft SQL Server数据库
  59.    'ServerName服务器名称,DBName数据库名称
  60.    With mCnnDB
  61.         .ConnectionString = "Uid=;pwd=;driver={SQL SERVER};" & "Server=" & ServerName & ";DataBase=" & DBName
  62.         .Open
  63.     End With
  64. End Sub

  65. Public Sub ConnectSQLServer2(ByVal ServerName As String, ByVal DBName As String, ByVal UserID As String, ByVal UserPSW As String)
  66.     '需要用户和密码链接Microsoft SQL Server数据库
  67.    'ServerName服务器名称,DBName数据库名称
  68.    With mCnnDB
  69.         .ConnectionString = "Uid='" & UserID & "';pwd='" & UserPSW & " ';driver={SQL SERVER};" & "Server=" & ServerName & ";DataBase=" & DBName
  70.         .Open
  71.     End With
  72. End Sub

  73. Public Sub ConnectOracle(ByVal ServerName As String, ByVal UserID As String, ByVal UserPSW As String)
  74.     '链接Oracle数据库
  75.    With mCnnDB
  76.         .Provider = "MSOAORA"
  77.         .ConnectionString = "User ID='" & UserID & "';Password='" & UserPSW & "';DataSource='" & ServerName & "'"
  78.         .Open
  79.     End With
  80. End Sub
复制代码
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

0

主题

10

回帖

0

精华

初来乍到

积分
16
发表于 2012-8-13 21:04:38 | 显示全部楼层
谢谢分享,非常不错!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表