Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Insertion de données avec mysql [ Archives / Bases de données ] (maxoudu328)

dimanche 20 novembre 2005 à 17:29:34 | Insertion de données avec mysql

maxoudu328

Salut, alors voila pour un prog j'ai besoin d'enregistere des info dans un BDD mysql
Etant débutant je V prendre un tuto sur un site d'abord je le suis a la lettre et tout marche bien... Ensuite je change deux trois truc pour intégrer des données end ur (pas des variable) dans un autre base et une autre table du meme serveur (en local) et la Ca me fait un erreur alors je teste plein de truc toujour une erreur ensuite j'ajoute un champs dans la table qui a étéait créer pendant le tuto (la ou tout marcher bien) dans je reprendre exactement le meme code que celui du tuto en rajoutant juste ca :

avant :

mysql_query(mysql, pChar('INSERT INTO '+table+' (id,nom) VALUES ("", "Nom")'))

(ca ca marche)
--------------------
Avec les modif


mysql_query(mysql, pChar('INSERT INTO '+table+' (id,nom,clan) VALUES ("", "Nom", "kor")'))

Voila pas bcp de modif mais quand meme ca marche pas ....

voila touie les partie du code :

Déclaration :

implementation
CONST dbname='testdb';
table='db';


{$R *.dfm}

-------------------------------
 
public
    { Déclarations publiques }
     mysql: PMysql;

  end;

Et mysql déclarer dans les USES

le code pour me connecté :

procedure TForm1.Button3Click(Sender: TObject);
Var user,host,pwd:string;
portip:integer;
begin
user:='root';
pwd:='';
host:='127.0.0.1';
portip:=3306;
MySQL := mysql_init(nil);
mysql_options(mysql,MYSQL_OPT_COMPRESS,0);
if mysql_real_connect(mysql, pChar(host), pChar(user), pChar(pwd), nil, portip, nil, 0)=nil  then
Button3.Caption:='La connexion a echouée'
else
Button3.Caption:='Connexion OK';
end;


----------------------------------------------

L'insértion de donnés :

procedure TForm1.Button6Click(Sender: TObject);
Var boucle:byte;
erreur:boolean;
begin
if mysql_select_db(mysql, pChar(dbname)) <> 0 then
Button6.Caption:='Selection de la base impossible';
erreur:=false;
 if mysql_query(mysql, pChar('INSERT INTO '+table+' (id,nom,clan) VALUES ("", "Nom", "kor")'))  <> 0 then
erreur:=true;
if (erreur) then
Button6.Caption:='Erreur'
else
Button6.Caption:='Ok';
end;



Voila moi j'i capte vraiment rien pourquoi ca fonctione pas et ca mme rend fou !!!

Donc si vous y voyé mieu que moi :s ben je vous en remercis d'avance ...

A oui j'ai aussi la LibMySql.dll et mysql.pas (sinon la fonction du tuto ne marcherait pas :D )

Aller cordialement.


dimanche 20 novembre 2005 à 20:51:46 | Re : Insertion de données avec mysql

f0xi

Membre Club Administrateur CodeS-SourceS
en effet, y'a un probleme...

la syntaxe de la requette semble bonne ...


verification toute fois : le champ "clan" existe t'il dans la table ?

si non ... ben alors ? faudrait peut etre le créer non ?

si oui ... de quel type est il ? Text ? Varchar ?

si varchar ... comment est il declaré ? varchar(3)  ? varchar(10) ?

autre verification importante :
MySQL est CaseSensitive pour les nom des champs : clan n'est pas egal a Clan ou CLAN
verifie donc que "clan" est declaré exactement comme cela sans majuscule aucunes.





dimanche 20 novembre 2005 à 23:38:15 | Re : Insertion de données avec mysql

maxoudu328

Alors :

oui clan existe je suis débutant delphi mais ca fait un petit moment que je code en php ..;

Et il est écrit exactement pareil c'est un varchar(25) comme le champs 'nom' juste au desus qui dans la requete qui fonctionne marche trés bien ...

Jvous dit c'est a n'y rien comprendre ....



lundi 21 novembre 2005 à 04:53:46 | Re : Insertion de données avec mysql

f0xi

Membre Club Administrateur CodeS-SourceS
carrement en effet ...

je supose que le champ Id est un Int en auto-increment definis en Clef primaire ?

par contre un truc me trouble dans la declaration de ta requettes :
mysql_query(mysql, pChar('INSERT INTO '+table+' (id,nom,clan) VALUES ("", "Nom", "kor")'))
c'est mysql_query qui demande un pChar (pointeur sur Caractere)?

un autre truc me chifonne, c'est l'utilisation de " au lieu de ' ('' en delphi (double touche 4)) ...
car si tu utilise mysql avec php tu as du remarquer que les guillemets ne sont pas supportée dans la requette mysql...

 est-ce que la requette fonctionne si tu l'execute dans la fenetre SQL de phpmyadmin ?

aussi tu peu utiliser format pour créer ta requette, ça eviteras de tout retaper a chaque fois :

function InsertQuery(table, nom, clan : string) : string;
begin
   result := format( 'INSERT INTO %s (id, nom, clan) VALUES ('''',''%s'',''%s'')',
                     [Table,Nom,Clan]);
end;



lundi 21 novembre 2005 à 04:58:18 | Re : Insertion de données avec mysql

f0xi

Membre Club Administrateur CodeS-SourceS
par contre tu as de la chance car je n'ai jamais reussi a faire fonctionner MySQL.Pas avec la lib et mysql ...

me demande pas pourquoi ... echec de connection en permanence... remarque a l'epoque j'avais essayer avec un easyphp ... maintenant j'ai une vrai install Apache/Php/MySQL faite a la main donc ça devrait surrement fonctionner.


lundi 21 novembre 2005 à 09:53:12 | Re : Insertion de données avec mysql

maxoudu328

Ben enfete ma requétes et parfaite puisque si je ne met pas le 3eme élement ca marche nikel .....

mardi 22 novembre 2005 à 11:49:47 | Re : Insertion de données avec mysql

maxoudu328

Un pti up pour ce probleme super bizard !!!



Cette discussion est classé dans : table, caption, mysql, erreur, pchar


Répondre à ce message

Sujets en rapport avec ce message

delphi/Mysql erreur faut ajouter une colonne non blob a la table [ par haouestarik ] bonjour,je developpe une application delphi/Mysqlj'ai crée dans ma table un champs appelé 'photo' type BLOBsur ma fiche j'ai utilisé un DBIMAGE mais a Connection MySQL [ par Kaki16 ] KakiBonjour à tous,J'essai de me connecter à mon serveur mysql. Voici ma procédure :Conn := mysql_init(nil);if Conn = nil then ShowMessage('erreur');M erreur TABLE Occupée!! [ par sarahhhhh ] bjr j'ai un pb à l'execution quand je veux consulter une table alors "erreur table occupée!!" comment remedier à ce pb ou plus ou moins un messaged'at Problème Accès table avec mot de passe recuperation d'erreur [ par kawapoulpe ] Bonjour, Je suis nouveau sur ce site, je débute en développement (enfin, pas tout à fait, mais comme je n'en ai pas fait depuis plus de 10 ans et qu on update cascade [ par tleboukaka ] salut j'ai un message d'erreur sur la mise à jour en cascade. voici ma syntaxe de ma bdd Interbase<pre class="alt2" dir="ltr" style Erreur index avec TBatchMove [ par jstauffer ] Bonjour,je veux faire une mise à jour et ajout des enregistrements de la table 1 (paradox) vers la table 2 (Sql Server 2005) qui possède un index sur SQL Server/Delphi, Erreur conversion CHAR en DATETIME [ par mengele ] Bonjour,je me casse la tête depuis des jours avec ça :dans sql server 7 j'ai une simple table "MaTable" avec trois champs : une clé primaire "ID" (Int Requete MySQL [ par nirG ] Bonjour,Je suis à la recherche comment faire une requête avec 2 critères comme sur PHP .du type :          mysql_select_db(mysql, pChar(dbname));      Afficher une table mysql dans un Dbgrid [ par zorville34 ] Bonjour    Question peut-être déjà posée sur le forum mais j'ai essayé de chercher un peu partout,     -- > Comment afficher une table mysql dans un MySQL Erreur [ par davix123 ] Bonjour,j'utilise le composant d'alexanderpopov présent sur ce site pour faire des connexions MySQL.Mon programme fonctionne avec une TreeView. Pour l


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,640 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.