Visuals Basic <-> PHP, MySQL

Status
Niet open voor verdere reacties.

RonaldGJ

Gebruiker
Lid geworden
28 apr 2007
Berichten
419
Beste mensen, ik ben een poosje uit de running geweest bij visual basic. Ik heb veel gedaan met websites bouwen en dergelijke.

Wat ik nu wil is een programma maken dat samenwerkt met PHP en MySQL. Ik zie ontzettend veel dingen er over staan, maar kan niet vinden hoe je nou eigenlijk begint. Hoe maak je vanuit Visual Basic 6.0 nou iets dat je bijvoorbeeld dingen uit datbase kunt halen en kunt connecten naar een database op een bepaalde server.

Vast hartelijk bedankt,

Gr. Ronald!:)
 
Ik heb het geprobeerd, hij geeft direct bij de code al een paar fouten. Als ik die weg werk op mijn manier en dan opstart en ik klik op de knop geeft ie weer een error.

Dit zijn de errors:
1. server=YourServerName;" & _
"driver={MySQL ODBC 3.51 Driver};
database=YourDataBase;dsn=;"

2. Set rdoRS = .OpenResultset(
rdOpenKeyset, rdConcurRowVer)

Deze kleurt ie direct aan het begin al rood. Hij geeft bijvoorbeeld fout bij YourServerName en dan bij die ; erachter. Die verwacht hij niet ofzo.

Enig idee hoe ik dit moet oplossen?

Gr. Ronald!:)
 
dat komt omdat het een hele string is; zie de regel erboven...
Code:
cnMySql.Connect = "uid=YourUserName;pwd=YourPassword;
    server=YourServerName;" & _
    "driver={MySQL ODBC 3.51 Driver};
    database=YourDataBase;dsn=;"
Dat is gewoon dit, maar dan in stukjes:
Code:
cnMySql.Connect = "uid=YourUserName;pwd=YourPassword;server=YourServerName;driver={MySQL ODBC 3.51 Driver};database=YourDataBase;dsn=;"

je 2e fout:
Code:
With rdoQry
    .Name = "selectUsers"
    .SQL = "select * from user"
    .RowsetSize = 1
    Set .ActiveConnection = cnMySql
    Set rdoRS = .OpenResultset(
            rdOpenKeyset, rdConcurRowVer)
End With
veranderen in:
Code:
    rdoQry.Name = "selectUsers"
    rdoQry.SQL = "select * from user"
    rdoQry.RowsetSize = 1
    Set rdoQry.ActiveConnection = cnMySql
    Set rdoRS = rdoQry.OpenResultset(rdOpenKeyset, rdConcurRowVer)
Als t goed is werkt t zo wel.

:thumb:
 
Ik heb het veranderd. Ik heb 1 knop op men form. En als ik daar op klik krijg ik nu een fout:

Compile Error:
User-defined type not defined

Klik ik op Ok en dan selecteert ie helemaal het eerste gedeelte van het script:
cnMySql As New rdoConnection (wordt blauw geslecteerd)
En Private Sub cmdConnectMySQL_Click() maakt ie geel.

En ik weet niet hoor, maar is dit wel de goede volgorde??:
ver};database=databasenaam;dsn=;"

Moet de databasenaam niet achter dsn= staan?

Gr. Ronald!:)
 
geen idee - ik ga het ook eens uitprobleren.

Rapport over een paar minuten.:thumb:

[edit]
Wauw, wat vaag. Het lukt me om alles te instaleren, maar blijf error 10061 krijgen (localhost database kan ie niet connecten ofzo).
Check deze sites anyway:
http://www.connectionstrings.com/?carrier=mysql
http://www.xtremevbtalk.com/showthread.php?t=171864

Mischien heeft het iets te maken met de instellingen van die mysql odbc ding welke je moest instellen, maar ik kan nergens de exe met instellingen vinden =/

Dit is mijn code nu, mischien kan jij het testen met jou database - ik gebruikte een locale usbwebserver.

Code:
Option Explicit

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

[COLOR="seagreen"]' set up a remote data connection
' using the MySQL ODBC driver.
' change the connect string with your username,
' password, server name and the database you
' wish to connect to.[/COLOR]


Dim sUsername, sPassword, sServerName, sDatabase As String

sUsername = "root"
sPassword = "usbw"
sServerName = "localhost"
sDatabase = "testje"

cnMySql.CursorDriver = rdUseOdbc
[COLOR="seagreen"]'cnMySql.Connect = "uid=" & sUsername & ";pwd=" & sPassword & ";server=" & sServerName & ";driver={MySQL ODBC 3.51 Driver};database=" & sDatabase & ";dsn='';"[/COLOR]

cnMySql.Connect = _
"Driver={MySQL ODBC 3.51 Driver};Server=" & sServerName & ";Database=" & sDatabase & ";User=" & sUsername & ";Password=" & sPassword & ";Option=3;"


cnMySql.EstablishConnection
[COLOR="seagreen"]
' set up a remote data object query
' specifying the SQL statement to run.[/COLOR]

With rdoQry
    .Name = "selectUsers"
    .SQL = "select * from users"
    .RowsetSize = 1
    Set .ActiveConnection = cnMySql
    Set rdoRS = .OpenResultset(rdOpenKeyset, rdConcurRowVer)
End With
[COLOR="seagreen"]
' loop through the record set
' processing the records and fields.[/COLOR]

Do Until rdoRS.EOF
    With rdoRS

[COLOR="seagreen"]    ' your code to process the fields
    ' to access a field called username you would
    ' reference it like !username[/COLOR]

        rdoRS.MoveNext
    End With
Loop

[COLOR="SeaGreen"]' close record set
' close connection to the database[/COLOR]

rdoRS.Close
cnMySql.Close

End Sub
:thumb:
[/edit]
 
Laatst bewerkt:
Ik zal het proberen:thumb:!

Je hoort wel hoe het is gegaan;).

Gr Ronald!:)
 
Nou ik heb dus het volgende, wat hij steeds als fout aangeeft en ik niks van snap:eek:.

De fout is:
---------------------------------------------
Compile error:

User-defined type not defined
----------------------------------------------

En dan klik ik op OK en dan kleurt ie met een pijltje ervoor GEEL:
-------------------------------------------------
Private Sub Command1_Click()
-------------------------------------------------

En hij selecteert ook nog een stukje int BLAUW:
----------------------------------------------------------
cnMySql As New rdoConnection
-----------------------------------------------------------

Dat geeft ie als fout, ik snap de fout niet, weet jij dat misschien:confused:.
Ik krijg steeds die fout namelijk, bij allerlei scripts.

Gr. Ronald!:)

EDIT:
Als je die zin typt, cnMySql As New rdoConnection, als je dan bij New bent geeft hij al een lijst weer met wat er achter kan. Maar rdoConnection staat er niet bij. Daar ligt het denk ik aan, maarja ik hoor het wel:D.
 
Laatst bewerkt:
klinkt als verkeerde referenties...
Check de bijlage, heb even de Referentie-scherm gescreent. Je moet namelijk wel de goede referentie doen... mischien is dat het.

:thumb:
 

Bijlagen

  • ref.JPG
    ref.JPG
    37,5 KB · Weergaven: 41
Ik heb hem gevonden!:thumb:
Die fout is nu weg, maar nu geeft hij een andere fout :rolleyes:. het blijft bezig.

Namelijk:
-------------------------------------------------------------------------------------------------------------------------------
Run-time error '40002':

IM002: [Microsoft][ODBC-stuurprogrammabeheer] De naam van de gegevensbron is niet gevonden en er is geen standaardstuurprogramma opgegeven
--------------------------------------------------------------------------------------------------------------------------------

Dan klik ik op Debug en dan wordt het volgende GEEL (met zo'n pijltje ervoor):
---------------------------------------------
cnMySql.EstablishConnection
---------------------------------------------

Enig idee?

Vast bedankt zover;)

Gr. Ronald!:)
 
Ik ben weer verschillende codes tegengekomen. Heb alles geprobeerd, maar het werkt echt niet. Ik blijf die foutmelding krijgen:confused:.

Ik kijk er morgen nog wel even aandachtig na, hopenlijk ben jij er dan weer!

Gr. Ronald!:)
 
Ik heb nog eens gezocht en wat geprobeerd, maar ik kom er niet achter! Ben jij er ondertussen misschien achter?

Hoop wat van je te horen!

Gr. Ronald!:)
 
Ronald,

Nee, niet naar gekeken. Zit nu in een verhuizing [papiertje is binnen, ole!] maar zal er asap weer eens naar kijken.

Groet
 
Oke is goed, zoek in ondertussen nog maar weer verder;)!
Bedankt en succes met verhuizen,

Gr. Ronald!:)
 
Probeer dit scriptje eens ...

Hier heb een scriptje wat ik gebruik om sql servers, database en tabellen na te zien.
Het zit nog in de pampers fase, doch het werkt (inclusief foutroutine: zie bijlage Capture1.gif) , voor wat geschreven is (wel gemaakt in vb2005)
Download hier het scriptje
:cool:
 

Bijlagen

  • Capture1.gif
    Capture1.gif
    33,9 KB · Weergaven: 40
Laatst bewerkt:
Het lijkt me een super programma, zoiets is ook de bedoeling om te gaan maken, maar ik kan het dus niet openen. Want ik gebruik VB 6.0. Kan dat ook omgezet worden ofzo, of moet ik dan gewoon VB 5 installeren?

Wel bedankt iig!

Gr. Ronald!:)
 
vb.net ....

Hoi Ronald,
Het is inderdaad geen vb6 code :confused:
Als je deze code wenst te gebruiken, heb je .NET (vb2005) nodig.
Om het "eventjes" over te zetten naar vb6, lijkt me meer werk dan vb2005 te installeren.

Heb de code hier geplaatst, zodoende je een idee krijgt hoe we op een eenvoudige manier een connectie kunnen maken.

En als je dan toch spreekt over een nieuw project, misschien eens tijd om vb.net te "leren" kennen.:p
Mvg Danny
 
Oke, ik wacht nog even op een reactie van Vegras... en als het dan nog niet lukt zal ik .NET maar is gaan installeren;).

Bedankt voor de reactie!!

Gr. Ronald!:)
 
Graag gedaan :)
HIER klikken en je hebt ook nog het programma zelf, kan je het ook eens testen/ bekijken.
Veel plezier ermee :cool:

Uiteraard even een screenshotje, wanneer het wel verbonden is :D
 

Bijlagen

  • Capture1.gif
    Capture1.gif
    46,3 KB · Weergaven: 52
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan