���ӹ���
���ĵ���ϸ���� cDataBase ������ݿ����ӹ������ܣ��������ӡ��Ͽ������ӳصȡ�
? Ŀ¼
���ݿ�����
Connect ����
Connect �������ڽ������ݿ����ӡ�
�
vb
Function Connect( _
ByVal DbType As enumDbType, _
Optional ByVal DbAddress As String = "127.0.0.1,1433", _
Optional ByVal username As String = "sa", _
Optional ByVal password As String = "Sa123456", _
Optional ByVal DefaultDataBase As String = "master") As Boolean����˵��
| ���� | ���� | ˵�� |
|---|---|---|
DbType | enumDbType | ���ݿ����ͣ����裩 |
DbAddress | String | ���ݿ��ַ����ѡ��Ĭ�� "127.0.0.1,1433"�� |
username | String | �û�������ѡ��Ĭ�� "sa"�� |
password | String | ���루��ѡ��Ĭ�� "Sa123456"�� |
DefaultDataBase | String | Ĭ�����ݿ⣨��ѡ��Ĭ�� "master"�� |
����ֵ
True- ���ӳɹ�False- ����ʧ�ܣ���ͨ��LastErr�鿴������Ϣ��
ʾ��
vb
Dim db As New VBMAN.cDataBase
' SQL Server ����
If db.Connect(VBMAN.enumDbType_MsSql, "127.0.0.1,1433", "sa", "password", "mydb") Then
Debug.Print "���ӳɹ�"
Else
Debug.Print "����ʧ��: " & db.LastErr
End If֧�ֵ����ݿ�����
enumDbType ö��
vb
Public Enum enumDbType
Access = 1 ' Microsoft Access
Mysql = 2 ' MySQL
MsSql = 3 ' Microsoft SQL Server
Csv = 4 ' CSV �ļ�
End EnumSQL Server ����
vb
' ��������
db.Connect VBMAN.enumDbType_MsSql, "127.0.0.1,1433", "sa", "password", "master"
' ʹ������ʵ��
db.Connect VBMAN.enumDbType_MsSql, "SERVER\INSTANCE,1433", "sa", "password", "mydb"
' ʹ�� Windows ������֤����Ҫ�������ַ�����
' ע�⣺��Ҫ�����ڲ��������ַ�����֧�� Windows ������֤MySQL ����
vb
' �������ӣ�Ĭ�϶˿� 3306��
db.Connect VBMAN.enumDbType_Mysql, "localhost:3306", "root", "password", "testdb"
' ָ���˿�
db.Connect VBMAN.enumDbType_Mysql, "192.168.1.100:3306", "user", "pwd", "mydb"
' ʹ�����Ķ��ţ��Զ�ת����
db.Connect VBMAN.enumDbType_Mysql, "localhost��3306", "root", "pwd", "testdb"Access ����
vb
' ���� Access ���ݿ��ļ�
db.Connect VBMAN.enumDbType_Access, "C:\data\mydb.mdb"
' ʹ�����·�����Զ�ת��Ϊ����·����
db.Connect VBMAN.enumDbType_Access, "data\mydb.mdb"CSV ����
vb
' ���� CSV �ļ�Ŀ¼
db.Connect VBMAN.enumDbType_Csv, "C:\data\csvfiles"
' CSV �ļ��ᱻ����������ѯ
db.Sql("SELECT * FROM data.csv").Query�����ַ�������
�Զ����ɵ������ַ���
����������ݿ������Զ����������ַ�����
SQL Server
Driver={SQL Server};Server=127.0.0.1,1433;Uid=sa;pwd=password;Database=mydb;MySQL
Driver={MySQL ODBC 5.1 Driver};Server=localhost:3306;Uid=root;pwd=password;Database=testdb;Access
Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\data\mydb.mdb;CSV
Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=C:\data\csvfiles�Զ��������ַ���
�����Ҫʹ���Զ��������ַ���������������ǰ���ã�
vb
' ע�⣺��Ҫ�����ڲ�����֧���Զ��������ַ���
' ����ֱ��ʹ�� ADO Connection ����
Set db.Conn = New ADODB.Connection
db.Conn.ConnectionString = "Provider=SQLOLEDB;Data Source=...;..."
db.Conn.Open
db.IsConnect = True����״̬����
IsConnect ����
IsConnect ���Ա�ʾ��ǰ����״̬��
vb
' �������״̬
If db.IsConnect Then
Debug.Print "������"
Else
Debug.Print "���"
End IfCheckConnection ����
CheckConnection �����������״̬������������
vb
' ��鲢����
If Not db.CheckConnection Then
Debug.Print "�����ѶϿ�����������..."
db.Connect VBMAN.enumDbType_MsSql, "127.0.0.1,1433", "sa", "pwd", "mydb"
End If����״̬���
��ִ�в���ǰ�������״̬��
vb
If Not db.IsConnect Then
Debug.Print "���ݿ�δ����"
Exit Sub
End If
' ִ�в�ѯ
db.Sql("SELECT * FROM users").Query���ӳع���
ConnInst ����
ConnInst �����������ȡ���ӳ��е����ݿ�ʵ����
�
vb
Function ConnInst(ByVal InstName As String, Optional ByVal IsCloneMasterConnection As Boolean = True) As cDataBase����˵��
| ���� | ���� | ˵�� |
|---|---|---|
InstName | String | ʵ�����ƣ����裩 |
IsCloneMasterConnection | Boolean | �Ƿ��¡�����ӣ���ѡ��Ĭ�� True�� |
ʾ��
vb
Dim db As New VBMAN.cDataBase
' ������
db.Connect VBMAN.enumDbType_MsSql, "127.0.0.1,1433", "sa", "pwd", "mydb"
' ��������ʵ�� 1����¡�����ӣ�
Dim db1 As VBMAN.cDataBase
Set db1 = db.ConnInst("db1", True)
db1.Sql("SELECT * FROM table1").Query
' ��������ʵ�� 2���������ӣ�
Dim db2 As VBMAN.cDataBase
Set db2 = db.ConnInst("db2", False)
db2.Connect VBMAN.enumDbType_Mysql, "localhost:3306", "root", "pwd", "testdb"
db2.Sql("SELECT * FROM table2").Query
' ��ȡ�Ѵ��ڵ�ʵ��
Set db1 = db.ConnInst("db1")ConnInstRemove ����
ConnInstRemove �����Ƴ����ӳ��е�ʵ����
�
vb
Sub ConnInstRemove(Optional ByVal InstName As String)ʾ��
vb
' �Ƴ�ָ��ʵ��
db.ConnInstRemove "db1"
' �Ƴ�����ʵ��
db.ConnInstRemove ""���ӳ�ʹ�ó���
���� 1�������ݿ����
vb
Dim db As New VBMAN.cDataBase
' �����ݿ�
db.Connect VBMAN.enumDbType_MsSql, "127.0.0.1,1433", "sa", "pwd", "mydb"
' ��־���ݿ�
Dim dbLog As VBMAN.cDataBase
Set dbLog = db.ConnInst("log", False)
dbLog.Connect VBMAN.enumDbType_Mysql, "192.168.1.100:3306", "loguser", "pwd", "logdb"
' ʹ�ò�ͬ�����ݿ�
db.Sql("SELECT * FROM users").Query
dbLog.Sql("INSERT INTO logs (msg) VALUES ('test')").Exec���� 2����̬���ݿ��л�
vb
Dim db As New VBMAN.cDataBase
' �������ö�̬��������
Function GetDatabase(sConfigName As String) As VBMAN.cDataBase
Dim dbInst As VBMAN.cDataBase
Set dbInst = db.ConnInst(sConfigName, False)
' �����������Ӳ�ͬ�����ݿ�
Select Case sConfigName
Case "main"
dbInst.Connect VBMAN.enumDbType_MsSql, "127.0.0.1,1433", "sa", "pwd", "maindb"
Case "backup"
dbInst.Connect VBMAN.enumDbType_Mysql, "192.168.1.100:3306", "user", "pwd", "backupdb"
End Select
Set GetDatabase = dbInst
End Function
' ʹ��
Dim dbMain As VBMAN.cDataBase
Set dbMain = GetDatabase("main")
dbMain.Sql("SELECT * FROM users").Query�Ͽ�����
Disconnect ����
Disconnect �����Ͽ����ݿ����ӡ�
�
vb
Function Disconnect() As Boolean����
- �ر����ݿ�����
- �رռ�¼��
- �ͷ���Դ
- �Զ��ع�δ��ɵ�����
ʾ��
vb
' �Ͽ�����
If db.Disconnect Then
Debug.Print "�ѶϿ�����"
End If�Զ��Ͽ�
��������ʱ���Զ��Ͽ����ӣ�
vb
Private Sub Form_Unload(Cancel As Integer)
' ����Ҫ�ֶ����� Disconnect������Զ�����
Set db = Nothing
End Sub������
��������
| ���� | ���� | ˵�� |
|---|---|---|
LastErr | String | ��������Ϣ������������ |
LastErrNumber | Long | ��������� |
LastErrDescription | String | ���������� |
������ʾ��
vb
' ���Ӵ�����
If Not db.Connect(VBMAN.enumDbType_MsSql, "127.0.0.1,1433", "sa", "pwd", "mydb") Then
Debug.Print "����ʧ��"
Debug.Print "�������: " & db.LastErrNumber
Debug.Print "��������: " & db.LastErrDescription
Debug.Print "������Ϣ: " & db.LastErr
Exit Sub
End If
' ��ѯ������
If Not db.Sql("SELECT * FROM users").Query Then
Debug.Print "��ѯʧ��: " & db.LastErr
Exit Sub
End If�������Ӵ���
���� 1�������ӵ�������
�������: -2147467259
��������: [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server �����ڻ���ʱ��ܾ����������
- ������ݿ�����Ƿ�����
- ��֤��������ַ�Ͷ˿�
- ������ǽ����
���� 2����¼ʧ��
�������: -2147467259
��������: [Microsoft][ODBC SQL Server Driver][SQL Server]�û� 'sa' ��¼ʧ�����������
- ��֤�û���������
- ��� SQL Server ������֤ģʽ
- ȷ���û�Ȩ��
���� 3�����ݿⲻ����
�������: -2147467259
��������: [Microsoft][ODBC SQL Server Driver][SQL Server]����¼����������ݿ����������
- ��֤���ݿ�����
- ������ݿ��Ƿ����
- ȷ���û��з���Ȩ��
���ʵ��
1. ���ӹ���
vb
' ? �Ƽ�������Ҫʱ���ӣ�ʹ����Ϻ�Ͽ�
Private Sub ProcessData()
Dim db As New VBMAN.cDataBase
If db.Connect(VBMAN.enumDbType_MsSql, "127.0.0.1,1433", "sa", "pwd", "mydb") Then
' ִ�в���
db.Sql("SELECT * FROM users").Query
End If
db.Disconnect
Set db = Nothing
End Sub2. ���Ӹ���
vb
' ? �Ƽ�������Ƶ����������������
Private m_DB As VBMAN.cDataBase
Private Sub Form_Load()
Set m_DB = New VBMAN.cDataBase
m_DB.Connect VBMAN.enumDbType_MsSql, "127.0.0.1,1433", "sa", "pwd", "mydb"
End Sub
Private Sub Form_Unload(Cancel As Integer)
If Not m_DB Is Nothing Then
m_DB.Disconnect
Set m_DB = Nothing
End If
End Sub3. ������
vb
' ? �Ƽ���ʼ�ռ�鷵��ֵ����������
If Not db.Connect(...) Then
MsgBox "����ʧ��: " & db.LastErr, vbCritical
Exit Sub
End If������: 2026-01-21