Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2007, 17h36   #1
Invité régulier
 
Étudiant
Inscription : avril 2007
Messages : 16
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 16
Points : 7
Points : 7
Par défaut Programmation en VB pour une B2D MySQL 4.1.9

Bonjour,

Je suis débutant en programmation et je ne connais pas grand chose aux b2d.
J'ai lu les tutoriels sur MySQL mais je n'ai pas réussi à trouver de réponses à mes questions.

J'aimerai créer un petit programme en VB qui puisse réaliser automatiquement des opérations (requètes SQL) sur deux bases de données.

Mon problème:
Je possède deux bases de données : base1 et base2.
  • Les attributs de la base1 sont : Nom_produit1 et Date1
  • Les attributs de la base2 sont : Nom_produit2 et Date2

J'aimerai créer un programme en VB qui puisse copier les valeurs situées dans les colonnes Nom_Produit1 et Date1 de la base1 et qu'il les colle respectivement dans les colonnes Nom_Produit2 et Date2 de la base2.

Je ne sais pas si c'est possible à réaliser mais j'imagine que oui.

Est ce que vous pourriez me venir en aide?

Merci,

Cordialement
jenfree est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2007, 21h57   #2
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
Pas besoin de déranger VB pour ça ...
http://dev.mysql.com/doc/refman/5.0/fr/replace.html
La 3ème syntaxe est ce qu'il te faut....


PS: tu n'as pas 2 bases, mais 2 tables
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2007, 22h59   #3
Invité régulier
 
Étudiant
Inscription : avril 2007
Messages : 16
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 16
Points : 7
Points : 7
Bonjour,

Tout d'abord merci pour ta réponse qi130, mais je comfirme que j'ai bien deux bases de données qui ne sont pas situées sur le même pc et qui ne sont pas situées à proximité géographiquement, c'est pour cela que j'avais choisi la solution macro VB en batch.

J'ai mal précisé quelquechose en effet, il y a une table pour chaque base:
  • Une table plm1 avec les attributs (les champs) Nom_Produit1 et Date1 pour la base1.
  • Une table plm2 avec les attributs (les champs) Nom_Produit2 et Date2 pour la base2.

La commande "REPLACE" marche effectivement pour deux tables mais je n'ai pas réussi à la faire fonctionner avec deux bases.

Si tu as une idée...

Cordialement
jenfree est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2007, 14h47   #4
Invité régulier
 
Étudiant
Inscription : avril 2007
Messages : 16
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 16
Points : 7
Points : 7
Bonjour,

Vraiment personne pour m'aiguiller?

jenfree est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2007, 18h10   #5
Invité régulier
 
Étudiant
Inscription : avril 2007
Messages : 16
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Aube (Champagne Ardenne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2007
Messages : 16
Points : 7
Points : 7
Bon après 4 jours de réflexion j'ai trouvé comment faire (ce qu'un spécialiste aurait fait en 30 secondes ...)

Voici une solution, histoire que ça serve aux gens qui rencontreront ce même problème dans le futur:

La table plm1 de la base1 a été copiée vers la base2 sous le nom plm1_exported.
requête SQL:

Code :
1
2
3
4
5
6
7
8
9
10
 
CREATE TABLE `base2`.`plm1_exported` (
`Nom_Produit1` varchar( 40 ) NOT NULL DEFAULT '',
`Date1` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
FULLTEXT KEY `Produit1` ( `Nom_Produit1` ) 
) ENGINE = MYISAM DEFAULT CHARSET = latin1;
 
INSERT INTO `base2`.`plm1_exported` 
SELECT * 
FROM `base1`.`plm1` ;
Requète d'insertion de qi130 :
requète SQL:

Code :
1
2
 
INSERT INTO plm2 SELECT Nom_Produit1,Date1 FROM plm1_exported
Et voila on a la base que l'on souhaite!

Rmq: Il est important de mettre "Nom_Produit1,Date1" et non pas "*" si les champs de la table importées ne sont pas dans le même ordre que les champs de la table plm2.

@ plus sur le forum
jenfree est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h52.


 
 
 
 
Partenaires

Hébergement Web