我正在使用visual basic 6.我创建了一个按钮,按下时应显示该表的所有条目。我使用以下代码连接到MySQL数据库。我使用Microsoft远程数据服务作为我的参考
代码:
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
我无法连接到数据库。我该如何连接?
答案 0 :(得分:3)
您可以尝试使用ADO代替RDO吗?
然后使用类似这样的代码
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
答案 1 :(得分: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