몇 년 전에 배운 VB를 거의 다 잊어버려서 요즘 복습하고 있어요. ADO 데이터베이스를 VB와 연결하는 것은 그리 어렵지 않습니다.
연결의 첫 번째 단계(자세히 읽어보세요)
초보자에게는 여기에 있는 튜토리얼이 가장 자세합니다. ADO 데이터베이스에 연결하는 첫 번째 단계는 어떤 구성 요소를 추가해야 하는가입니다. 전체 이름은 Microsoft ADO Data Control 6.0(SP6)(OLEDB) 구성 요소입니다.
Microsoft ADO 데이터 제어 6.0(SP6)(OLEDB) 구성 요소에는 Adodc 데이터 제어라는 이름이 있으므로 이를 추가해야 합니다. Adodc 데이터 제어 데이터 위치에서 ACCES를 찾으세요.
컨트롤에서 참조하는 메서드(값은 이름을 나타냄)
다음과 같이 코드 코드를 복사합니다.
i = 1의 경우 Adodc1.Recordset.RecordCount로
Adodc1.Recordset.EOF가 아닌 경우
Combo1.AddItem Adodc1.Recordset.Fields("value").Value
Adodc1.Recordset.Movenext
종료 조건
다음은 내가
이 코드에 인용된 작성자는 ydl890406입니다. VB 그룹에서 이 글을 작성할 때 빌려 달라는 요청을 받았는데 나중에 여러 번 수정한 후에도 오류가 있음을 발견했습니다. 이것은 나중에 코드를 다시 작성했습니다. 시간은 빠르게 흘러 VB 그룹도 해체됐다. 나중에 알 수 없는 이유로 많은 튜토리얼에서 이 코드를 사용합니다.
두 번째 부분은 AOD 코드 연결입니다. 두 번째 부분에는 Recordset 개체와 Connection 개체가 포함되어 있으므로 직접 배우고 작성할 수 있습니다.
Recordset 개체와 Connection 개체는 무엇입니까? Connection 개체는 데이터 소스에 대한 연결이고, Recordset 개체는 작업 데이터입니다.
Microsoft ADO Data Control 6.0(SP6)(OLEDB) 구성 요소를 찾고 있습니다.
VB는 ADO를 사용하여 SQL Server 데이터베이스에 연결합니다.
'데이터 소스 정보 상수 Public Const conn As String = "Provider = SQLOLEDB.1;Password = sa; UserID = sa; 초기 카탈로그 = StudentFiles; 데이터 소스 = localhost" Public Const CONNECT_LOOP_MAX = 10 '연결 작업을 한 번 수행하면 다음을 수행할 수 있습니다. 데이터베이스 액세스 횟수Private IsConnect As Boolean '데이터베이스 연결 여부 표시Private Connect_Num As Integer 'Connect() 함수 실행 후 데이터에 접근한 횟수 표시Private cnn As ADDODB.Connection 'database에 연결할 연결 개체Private re As ADDODB.Recordset '결과 집합을 저장하는 Recordset 개체 //database에 연결Private Sub Connect () '연결 표시가 true이면 반환합니다. IF IsConnect = True Then Exit Sub End If Set cnn = New ADODB.Connection '새 키는 새 객체를 생성하는 데 사용됩니다. cnn cnn.ConnectionString = conn cnn.Open '연결 상태 확인If cnn.State <> adStateOpen Then MsgBox "Database Connection Failure" End End If '데이터베이스에 연결되었음을 나타내는 연결 ID 설정 IsConnect = TrueEnd Sub' 데이터베이스와의 연결을 끊습니다 Private Sub DisConnect() Dim rc As Long If IsConnect = False Then Exit Sub End If '연결을 닫습니다.cnn.Close'Release cnn Set cnn = Nothing IsConnect = FalseEnd Sub'Connect_Num을 사용하여 데이터 연결을 제어합니다. Public Sub DB_Connect() Connect_Num = Connect_Num + 1 ConnectEnd Sub'Connect_Num을 사용하여 데이터를 제어합니다. Disconnect Public Sub DB_Disconnect ()If Connect_Num >= CONNECT_LOOP_MAX Then Connect_Num = 0 Disconnect End If End Sub'Force는 러시아 데이터베이스에 액세스하기 위해 API 모드를 닫고 카운터를 재설정합니다. Public Sub DBapi_Disconnect() Connect_Num = 0 DisconnectEnd Sub'Execute 데이터베이스 작업 언어'byval 매개변수의 값에 의해 전달되며 전송 과정 중에 매개변수가 변경되지 않습니다(즉, 주소 대신 매개변수 값이 프로세스에 전달됩니다. 이를 통해 프로세스는 변수의 복사본에 접근할 수 있으며, 프로세스는 변수의 값을 변경할 수 없습니다. 이는 매개변수의 주소에 따라 값을 전달하는 것을 의미합니다. Public Sub SQLExt(ByVal TmpSQLstmt As String) Dim cmd As New ADODB. .Command '명령 개체 생성 cmd DB_Connect '데이터베이스에 연결 Set cmd.ActiveConnection = cnn 'cmd의 ActiveConnect 속성을 설정하고 이와 관련된 데이터베이스 연결을 지정합니다 cmd.CommandText = TmpSQLstmt '실행할 명령 텍스트를 설정합니다'MsgBox TmpSQLstmt cmd.Execute '명령을 실행합니다 Set cmd = Nothing DB_DisConnect 'Disconnect 데이터베이스와의 연결을 엽니다. End Sub' 데이터베이스 쿼리문을 실행합니다. Public Function QueryExt(ByVal TmpSQLstmt As String ) As ADODB.Recordset Dim rst As New ADODB.Recordset 'Rescordset 객체 생성 rst DB_Connect '데이터베이스에 연결 Set rst.ActiveConnection = cnn 'rst의 ActiveConnection 속성을 설정하고 이와 관련된 데이터베이스에 대한 연결을 지정 rst.CursorType = adOpenDynamic ' 커서 유형을 먼저 설정하세요. LockType = adLockOptimistic '잠금 유형을 먼저 설정하세요.Open TmpSQLstmt '레코드세트 열기 Set QueryExt = rst '레코드세트End 함수 반환