2011-08-29 3 views
4

Visual Basic 6을 사용하고 있습니다. 눌렀을 때 테이블의 모든 항목을 표시해야하는 버튼이 생성되었습니다. 다음 코드를 사용하여 MySQL 데이터베이스에 연결합니다.Visual Basic 6에서 MySQL 데이터베이스에 연결하는 방법

Private Sub cmdConnectMySQL_Click() 
Dim cnMySql As New rdoConnection 
Dim rdoQry As New rdoQuery 
Dim rdoRS As rdoResultset 

    cnMySql.CursorDriver = rdUseOdbc 
    cnMySql.Connect = "uid=root;pwd=; 
    server=localhost; driver={MySQL ODBC 3.51 Driver}; 
    database=demo;dsn=;" 
    cnMySql.EstablishConnection 
    With rdoQry 
    .Name = "selectUsers" 
    .SQL = "select * from user" 
    .RowsetSize = 1 
    Set .ActiveConnection = cnMySql 
    Set rdoRS = .OpenResultset(rdOpenKeyset, rdConcurRowVer) 
    End With 

    Do Until rdoRS.EOF 
    With rdoRS 
     rdoRS.MoveNext 
    End With 
    Loop 
    rdoRS.Close 
    cnMySql.Close 

End Sub 

나는 데이터베이스에 연결할 수 없습니다입니다 : 내 기준으로

코드를 Microsoft 원격 데이터 서비스를 사용하고 있습니다. 어떻게 연결합니까?

+1

연결이 끊어지는 것을 어떻게 알 수 있습니까? 나는 VB를 잘 모르지만, EstablishConnection이 실패했는지 확인하는 방법이있을 것이라고 추측하고 있는데, 아마도 사용자 이름/패스가 발견되지 않는 이유에 대해 더 많은 정보를 얻을 수 있을까요? 드라이버/커넥터가 올바르게 설치/위치되어 있습니까? 쿼리의 결과가 돌아 오지 않을 수도 있습니다. 더 많은 정보가 필요합니다. – prelic

답변

3

RDO 대신 ADO를 사용해 볼 수 있습니까?

  • Microsoft ActiveX 데이터에 대한 참조를 추가 2.8 개체 라이브러리를

다음이

Dim cnConnection As ADODB.Connection 
Dim adorsRecordSet As ADODB.Recordset 
Dim sDatabase As String 
Dim sSQL As String 

sDatabase = "NameOfTheMysqlDSN" 
sSQL= "Select * From user" 

Set cnConnection = New ADODB.Connection 
cnConnection.Open sDatabase 
Set adorsRecordSet = New ADODB.Recordset 

adorsRecordSet.Open sSQL, cnConnection 

Do Until (adorsRecordSet.EOF) 
    adorsRecordSet.MoveNext 
Loop 
+0

+1 ADO가 RDO보다 우수해야합니다. ADO는 여전히 Microsoft에서 지원합니다. – MarkJ

1
' the follwoing code inside module and use adodc 

Public Myconn As New ADODB.Connection 
Public Recset As New ADODB.Recordset 
Public SqlStr As String 
Public Function Connectdb() 
Set Myconn = New ADODB.Connection 
Set Recset = New ADODB.Recordset 
Myconn.Open "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties='DRIVER=SQL Server Native Client 10.0;SERVER=.\sqlexpress;Trusted_Connection=Yes;APP=Visual Basic;WSID=YOUNGPROGRAMA;DATABASE=StdB;';Initial Catalog=StdB" 
End Function 

' the following code inside ur form 

Private Sub Command1_Click() 

     Connectdb 
     SqlStr = "Insert into Logintb values('" + Text1.Text + "', '" + Text2.Text + "' )" 

     Recset.Open SqlStr, Myconn, adOpenKeyset, adLockOptimistic 

     MsgBox "New User Added" 


     Myconn.Close 



    End Sub 

Private Sub Form_Load() 
Connectdb 



With Form1 
.Top = (Screen.Height - .Height)/2 
.Left = (Screen.Width - .Width)/2 
End With 
End Sub 

'it works 
'for verification call Mr. Raji on 08067455933 
과 같은 코드 뭔가를 사용하여 데이터베이스에 연결하기 위해 ODBC DSN을 설정
관련 문제