kopierreko
Messages postés139Date d'inscriptionmercredi 12 mars 2008StatutMembreDernière intervention10 juillet 2010
-
23 sept. 2008 à 17:30
philc94
Messages postés13Date d'inscriptionvendredi 28 novembre 2008StatutMembreDernière intervention29 mars 2009
-
2 déc. 2008 à 20:56
Bonjour tout le monde :)
Voilà, je programme en delphi depuis quelques temps et aujourd'hui j'essaie la relation delphi <=> MySQL ...
Problème: La connexion ne marche apparemment pas alors que j'ai bien testé des connexions avec d'autres logiciels, ça marche :)
Pour mes premiers essais, j'ai utilisé le code d'un site, qui me parait bien structuré à mon goût, même s'il y a quelques erreurs que j'ai réglé.
( des END en trop )
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
mysql: PMysql;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var
mySQLConnection : PMYSQL;
procedure TForm1.FormDestroy(Sender: TObject);
begin
mysql_close(mySQLConnection);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
mySQLConnection := mysql_init(nil);
if mysql_real_connect(mySQLConnection, 'psproduction.no-ip.org', '***', '***', 'chat', 0, nil, 0) <> nil then begin
// Connection réussie
label1.Caption := '1' ;
end else begin
// Echec de connection
label1.Caption := '0' ;
end
end;
end.
Le label affiche toujours '0', donc apparemment, la connexion de fonctionne pas, pourquoi , à votre avis ?
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 23 sept. 2008 à 19:14
Bonsoir
Dans le cas ou là réponse est 0, utilise mysql_error pour obtenir la dernière erreur et donc la raison de la non connexion :
procedure TForm1.Button1Click(Sender: TObject);
begin
mySQLConnection := mysql_init(nil);
if mysql_real_connect(mySQLConnection, 'psproduction.no-ip.org', '***', '***', 'chat', 0, nil, 0) <> nil then begin
// Connection réussie
label1.Caption := '1' ;
end else begin
// Echec de connection
label1.Caption := '0' ;
// PAR EXEMPLE
ShowMessage( mysql_error(mySQLConnection) ) ;
end
end;
Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
WhiteHippo
Messages postés1154Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention 5 avril 20123 23 sept. 2008 à 22:23
Je crois malheureusement qu'il va falloir encore une nouvelle fois redire que : "Google est ton ami."
Juste en copiant le message sous google, on obtient le premier lien suivant : lien
Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
kopierreko
Messages postés139Date d'inscriptionmercredi 12 mars 2008StatutMembreDernière intervention10 juillet 2010 24 sept. 2008 à 16:11
Bon, pour mon mysql, j'utilise WampServer et le mysql est en 5.0.51b ( là plus récente ).
Que faut il que je change ?
Je ne comprend pas trop, je pense que c'est le mysql.pas qu'il faut que je change, non ?
Merci
kopierreko
Messages postés139Date d'inscriptionmercredi 12 mars 2008StatutMembreDernière intervention10 juillet 2010 24 sept. 2008 à 16:20
Non merci j'ai trouvé, je suis allé dans wamp, j'ai cherché la DLL libySQL.dll et j'ai remplacé.
Merci à ceux qui m'ont aidé et dsl pour le triple post.
Merci
kopierreko
Messages postés139Date d'inscriptionmercredi 12 mars 2008StatutMembreDernière intervention10 juillet 2010 24 sept. 2008 à 16:40
Voilà, j'ai réussi à me connecter à la base de donnée.
J'ai mis dans mon projet un Memo dans lequel je veux faire apparaître le contenu de ma table.
Je voudrais savoir comment ACTUALISER le contenu du Memo ( j'ai mis un timer )
Faire une requête: SELECT * FROM chat.
Ensuite afficher le contenu, et l'actualiser tous les .timer ( je sais faire avec le timer )
Merci
kopierreko
Messages postés139Date d'inscriptionmercredi 12 mars 2008StatutMembreDernière intervention10 juillet 2010 24 sept. 2008 à 21:01
Oui désolé mais ça me semblait tellement inutile de recréer un topic pour une question du même sujet, mais je vais le faire.
Merci en tout cas et encore désolé pour ce flood.
Pierreko
kopierreko
Messages postés139Date d'inscriptionmercredi 12 mars 2008StatutMembreDernière intervention10 juillet 2010 1 déc. 2008 à 21:49
Non toujours pas ...
-J'arrive à me connecter à la base mysql
-J'arrive à lister le contenu
-Je n'arrive pas à formater comme je veux le résultat du listage
-Je n'arrive pas à faire un INSERT INTO sur la BDD
Je cherche et chercherai toujours jusqu'à trouver et je mettrai ici le code final quand je l'aurais trouvé.
Cordialement,
Pierreko
philc94
Messages postés13Date d'inscriptionvendredi 28 novembre 2008StatutMembreDernière intervention29 mars 2009 1 déc. 2008 à 22:02
Ok, mais est ce qu'il serait possible que tu m'envoie le code que tu as fait pour te connecter a la base mysql et lister e contenu stp?
merci d'avance.
Philippe
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
FMessage: Tstrings;
FPseudo: string;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
mySQLConnection : PMYSQL;
myRow : PMYSQL_ROW;
i, j : Cardinal;
Chp : array of string;
myRES : PMYSQL_RES;
begin
Timer1.Interval := 1000;
Lbl_Mypseudo.Caption := Edt_Pseudo.Text;
mySQLConnection := mysql_init(nil);
if mysql_real_connect(mySQLConnection, 'HOST', 'USER', 'PASS', 'DBB', 0, nil, 0) <> nil then begin
// Connection réussie
Pn_Co.Color := ClLime;
end else begin
// Echec de connection
Pn_Co.Color := ClRed; end;
mysql_query(mySQLConnection, 'SELECT id FROM user WHERE pseudo="FPseudo"');
myRES := mysql_store_result(mySQLConnection);
myROW := mysql_fetch_row(myRES);
for j := 0 to mysql_num_fields(myRES) - 1 do begin
Chp[j] := myRow^[j];
philc94
Messages postés13Date d'inscriptionvendredi 28 novembre 2008StatutMembreDernière intervention29 mars 2009 2 déc. 2008 à 20:56
J'ai juste un probleme recurrent et assez enervant. J'ai telelcharge mysql.pas (depuis plusieurs sources differentes) et a chaque fois que je veux compiler, delphi me souligne Winsock dans les 'uses'. Je ne comprend vraiment pas pourquoi ca ma fait ca surtout que je semble etre le seul a avoir cce probleme.
(j'ai borland CodeGer RAD studio delphi 2009)
Merci d'avance