CONNECT TO MYSQL WITH VB6

WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008 - 5 juin 2006 à 20:27
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012 - 14 févr. 2011 à 22:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/37937-connect-to-mysql-with-vb6

r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
14 févr. 2011 à 22:45
Desole, je ne code plus en VB6.

Jessaier de taider comeme :)

Tu peux poster ton code qui gener l'erreur?
rosetimide Messages postés 5 Date d'inscription lundi 5 janvier 2009 Statut Membre Dernière intervention 19 février 2011
3 févr. 2011 à 03:57
bonjour tout le monde
mon problème est le suivant :
j'ai effectué la connexion avec la base de données mais mois j'ai 37 champs dans ma table alors quand je fais les arguments de la méthode insert par exemple il m'affiche une erreur comme quoi il y a beaucoup d'argument
merci;
Dreknar21 Messages postés 2 Date d'inscription lundi 6 avril 2009 Statut Membre Dernière intervention 18 décembre 2010
18 déc. 2010 à 11:36
Salut, j'adore ton programme seulement j'ai un soucis.
Quand je crée un nouveau nom, téléphone et que je l'envois dans la BDD MySql ça marche niquel, mais lorsque je quitte ton programme, ça efface l'entrée :(
Comment je peut faire (avec une requête) que lorsque je ferme le programme il enregistre la BDD ? Et que lorsque je l'ouvre il ré-ouvre la BDD sur la sauvegarde précédente ?
Merci,
ngale Messages postés 13 Date d'inscription lundi 13 septembre 2010 Statut Membre Dernière intervention 11 janvier 2011
30 nov. 2010 à 07:40
bonjour R_GABOR
j'ai apprecié ton code
question 1. Peut-elle marcher avec ODBC 5.1 si je l'installe et change le 3.1 en 5.1 sur ton code?
question 2. quelle synthaxe pour creer une nouvelle base de données avec 'MySQL_NewDb' que tu as donné.

merçi d'avance pour vos reponse.
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
17 août 2010 à 20:33
Salut Wahaba007,

Je pense que le problebe que tu rencontre est pas avex VB mais avec la configuration MYSQL.

Il faut configure MYSQL pour que tu puis connecter avec localhost ou 127.0.0.1 (default) ou bien avec server name ou IP addresse.
wahab007 Messages postés 7 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 17 août 2010
17 août 2010 à 18:26
Bonjour tout le monde , ce code est vraiment génial, je l'ai testé et voilà quelques difficultés que je rencontre:
j'arrive à communiquer avec ma base mysql quand je travail sur mon poste à condition que je garde "localhost" ou "127.0.0.1" quand je remplace cette chaine par le nom de ma machine ou son adresse IP (ex:192.168.1.1) là j'ai une erreur . la même erreur survient quand quand j'essaie de me connecter à la même base sur un autre poste de mon réseau via son adresse ou son nom.

Quelqu'un à t'il déja rencontré ce problème? quels peuvent être les solutions. Merci à tous.

NB: j'ai installer MyODBC
symmetrix Messages postés 2 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 31 août 2007
3 sept. 2007 à 11:29
Bonjour R_Gabor, pour dire que ton exemple d'accès aux Bases MySQL, fonctionne à merveille sur les bases situées sur un Hébergeur distant. Mais attention la grande majorité des hébergeurs bloquent ces accès externes. Je viens de passer chez Sivit, et là ca marche : fabuleux et pas besoin de passer par un script PHP.
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
1 août 2007 à 00:36
Salut,

Va voire ce code, je vien de cree, je pens un truc comme ca il te faut.

http://www.vbfrance.com/code.aspx?ID=43625

Bye
cs_decaPeter Messages postés 19 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 2 août 2007
31 juil. 2007 à 20:29
en effet cest une externe: sql.free.fr
et ca ne marche effectivement pas.

je voudrais enregistrer le score du joueur dans une base et afficher sa position :) ca doit etre réalisable en VB quand meme ?!
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
31 juil. 2007 à 10:42
Salut decaPeter,

Oui, pour MyODBC tu doit installer sur le post si non ca ne marche pas.
Mais le jeux tu a programmer en VB? Si oui, ou ce trouve le base de donnes? Mon code est pas faite por ce connecter a une base externe alors si c'est local, tu doit installer comeme mysql aussi.
cs_decaPeter Messages postés 19 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 2 août 2007
31 juil. 2007 à 10:31
script très efficace avec le "Visual Basic Projet" qui fonctionne a merveille! je suis impressionné :)

merci pour cette source!

question: lorsque l'on crée l'exe de notre appli, on doit quand meme installer MyODBC sur les postes clients qui utiliseront l'appli? (je fais un jeu et si je dois obliger l'installation de MyODBC simplement pour afficher les statistiques à la fin du jeu, ca fait un peu lourd)
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
13 juin 2007 à 23:27
Salut Marzoukjana,

Tu peux le trouver a la menu Project/References et tu recherche par name.

Normalement tu doit avoire dans la liste

Bye
marzoukjana Messages postés 2 Date d'inscription jeudi 2 novembre 2006 Statut Membre Dernière intervention 13 juin 2007
13 juin 2007 à 20:51
ou je peux trouver ce pilote microsoft active X data object 2.8
manulegosny Messages postés 18 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 4 janvier 2009
20 mars 2007 à 13:11
Merci r_gabor !!
Ta réponse correspond exactement à ce que je voulais :)
je te remercie encore

à bientôt
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
9 mars 2007 à 22:09
Salut,

Alors, dans le module MySQL efface le MySQL_Insert code et colle ca a la place de l'ancien.

Public Sub MySQL_Insert(MySQL_Conn As ADODB.Connection, Table As String, Values() As String)

Dim Field As String 'Will hold Fields name
Dim Value As String 'Will hold Values value
Dim Tmp As Variant 'Variable for split Values into Field and Value
Dim Sql As String 'Sql string

Sql = "INSERT INTO `" & Table & "` ("
Field "": Value ""
For Each Tmp In Values
Field = Field & "`" & Mid$(Tmp, 1, CLng(InStr(Tmp, "|")) - 1) & "`,"
Value = Value & "'" & Mid$(Tmp, CLng(InStr(Tmp, "|")) + 1, Len(Tmp) - CLng(InStr(Tmp, "|"))) & "',"
Next

Field = Mid$(Field, 1, Len(Field) - 1) 'Removing the last , string
Value = Mid$(Value, 1, Len(Value) - 1) 'Removing the last , string

'Build sql
Sql = Sql & Field & ") Values (" & Value & ")"

'MsgBox Sql

'Insert row
MySQL_Conn.Execute Sql

End Sub


Puis sur ton for change le code pour le button AddNew avec ca.

Private Sub cmdAddNew_Click()

'If textfields empty then exit sub
If txtNewName.Text "" And txtNewPhone.Text "" Then Exit Sub

Dim newData(1) As String
newData(0) = "name|" & txtNewName.Text
newData(1) = "phone|" & txtNewPhone.Text

Call MySQL_Insert(Connexion, "NewTable", newData)


'Clear text fields
txtNewName.Text = ""
txtNewPhone.Text = ""

'Reload listview
Set Rs = MySQL_Select(Connexion, "*", "NewTable", , , "id")
RefreshList

End Sub

Le separator que je utilise ici ce ne pas le "," mais le "|"

bon, jespere ca t'aide

salut
manulegosny Messages postés 18 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 4 janvier 2009
8 mars 2007 à 16:58
Hello

Je te remercie pour ce code qui m'aide beaucoup!
Dans la commande SQL INSERT, j'aimerai pouvoir envoyer mes fields et mes values séparés par des virgules et non pas séparément comme tu le proposes (field1 vers value1, field2 vers value2 etc...)
Aurais tu une idée sur le traitement à réaliser ?
Merci beaucoup
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
7 févr. 2007 à 15:55
Salut,

Tout simplement il faut ajouter la reference Microsoft ActiveX Data Objects 2.8 Library a ton application et ca va marcher :)
mmarfil Messages postés 5 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 7 février 2007
7 févr. 2007 à 14:57
hello, J ai bien apprecie ton appli. , j utilise une base de donnée Mysql externe, tous fonctionne bien. Mais je desire insérer une partie de ton code sur mon appli. mais il me fait un message d erreur "ERREUR DE COMPILATION,Type defini par l utilisateur non defini" je n ai oublie aucune ligne de ton code, mais il bloque sur "Dim Connexion As ADODB.connection", je ne comprend pas l erreur, hellllp, merci
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
10 sept. 2006 à 15:33
Je ne sais pas trop, mais un jour je vais l'esseyer. Le truck on peux faire, de faire un script en php qui va renvoier les donnes vers vb. ou pour prend le donnees et les ajouter a la base.

Mais je ne pas esseyer encore. Le jour que je vais le faire je vais poster le code.
soti Messages postés 1 Date d'inscription jeudi 17 août 2006 Statut Membre Dernière intervention 7 septembre 2006
7 sept. 2006 à 14:33
salut j'ai des problème pour me connecter à ma base de données.
je te précise que je suis bien en mysql mais un super débutant en vb. veille bien m'aider.
quand j'essaye il m'affiche le message suivantPublic Function MySQL_Conn(ByVal Server As String, ByVal Db As String, ByVal User As String, ByVal Pwd As String) As ADODB.Connection

en plus je voudrais envoyer ma base vers un serveur avec apache et php si tu pouvais me donner un modèle
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
6 juin 2006 à 18:30
Salut Adamo,

Tu doit installer sur ton post le MyODBC que tu peux telecharger sur le sit de www.mysql.com.

Apres ca tu doit cree sous MySQL une base de donnees seulement le base, pas besoin cree des tables, et puis changer dans le load_form events les parametres de ton access a MySQL sur ton post ou sur ton reseaux. Cette exaple utilis MySQL ODBC 3.51 Driver.
adamo901 Messages postés 139 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 8 décembre 2008
6 juin 2006 à 14:04
Bonjour,
J'ai un problème lors de l'exécution :

Source de données non trouvée et nom du pilote non spécifié!
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
6 juin 2006 à 13:45
Salut Bouv, tu doit cree un base sous mysql, meme une base sans table, et apres modifier le parametre de connexion dans le form load events. Ce tout tu doit faire.
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
6 juin 2006 à 13:29
J'aimerai bien essayer mais il me semble qu'il manque la base de données.
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
6 juin 2006 à 08:46
Oui, c'est vrai, si tu fait comme ca, tu doit faire le connexion avec php pas avec vb, et meme tout les requete aussi.
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
6 juin 2006 à 00:46
Merci pour ta réponse, en effet, on peut mettre en relation un logiciel en vb6 et une page en php, à ce moment la je crée une classe de connexion à MySQL et je demande au prog de passer par elle. C'est une bonne idée je vais faire ca. Par contre on pert l'intéret de la connexion en direct à partir du soft.

Sinon, ton message n'est pas trop compliqué ca va :)

@++
r_gabor Messages postés 42 Date d'inscription vendredi 16 novembre 2001 Statut Membre Dernière intervention 16 mars 2012
5 juin 2006 à 23:26
Salut WhiteDwarf

Ca depend de la provider. dans les plus par des hebergeur, ils configure le acces a mysql depuis localhost. Alors meme si tu me le adresse ip de server, tu pourra pas ce connecter. J'ai veu quelque part, si tu fait a script (mais je ne sais pas quio comme script) tu peux ex. faire une select et passer le resultat pour une autre programm. Je ne sais pas si vb6 et un page php peux ce communiquer, mais si oui, alors tu peuy faire une truc en php, fair appler ce script a pertir de ton appli sur ton poste, et quelque facon de change de information en traver de php sur mysql et vb.
Jespere que mon message est pas trop compliquer.
Gabor
WhiteDwarf Messages postés 510 Date d'inscription samedi 29 décembre 2001 Statut Membre Dernière intervention 23 mai 2008
5 juin 2006 à 20:27
Tu saurais comment faire pour que ca puisse se connecter à une base externe ? J'ai essayé avec une base MySQL installée sur mon pc et ca marche bien :) Mais ca ne marche pas avec mes bases sur internet.
Rejoignez-nous