Skip to content

���ӹ���

���ĵ���ϸ���� 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

����˵��

��������˵��
DbTypeenumDbType���ݿ����ͣ����裩
DbAddressString���ݿ��ַ����ѡ��Ĭ�� "127.0.0.1,1433"��
usernameString�û�������ѡ��Ĭ�� "sa"��
passwordString���루��ѡ��Ĭ�� "Sa123456"��
DefaultDataBaseStringĬ�����ݿ⣨��ѡ��Ĭ�� "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 Enum

SQL 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 If

CheckConnection ����

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

����˵��

��������˵��
InstNameStringʵ�����ƣ����裩
IsCloneMasterConnectionBoolean�Ƿ��¡�����ӣ���ѡ��Ĭ�� 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

������

��������

��������˵��
LastErrString��������Ϣ������������
LastErrNumberLong���������
LastErrDescriptionString����������

������ʾ��

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 Sub

2. ���Ӹ���

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 Sub

3. ������

vb
' ? �Ƽ���ʼ�ռ�鷵��ֵ����������
If Not db.Connect(...) Then
    MsgBox "����ʧ��: " & db.LastErr, vbCritical
    Exit Sub
End If

������: 2026-01-21

VB6及其LOGO版权为微软公司所有