[HELP-PLEASE] Pb Delphi/MySQL Urgent SVP !

Neopheus Messages postés 21 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 25 novembre 2005 - 29 avril 2003 à 17:58
Neopheus Messages postés 21 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 25 novembre 2005 - 4 mai 2003 à 13:40
Bonjour,

Je programme une application de gestion sous Delphi avec une Base de donnée MySQL.
Mon problème est le suivant :

J'ai une table qui se compose de cette façon

__________________________________________________
| Numero_client | Nom_client | Description | etc... |
|_______________|____________|_____________|_______|
| 000000000001| vcvxcvxcvxc | vcxvxcvxvxc |gfdgdf |
|_______________|____________|_____________|_______|
| 000000000002| vcvxcvxcvxc | vcxvxcvxvxc |gfdgdf |
|_______________|____________|_____________|_______|
| 000000020001| vcvxcvxcvxc | vcxvxcvxvxc |gfdgdf |
|_______________|____________|_____________|_______|
| 000200000001| vcvxcvxcvxc | vcxvxcvxvxc |gfdgdf |
|_______________|____________|_____________|_______|

Mon Problème est le suivant : comment faire pour savoir les numero_client déjà pris ?

Je voudrais avoir une fonction, qui me renvoie true ou False suivant si le numéro client est pris ou non !

Comment faire ?????

Même question pour Nom_client.

Merci d'avance

VALENTIN Xavier
www.darkskull.net
xavier.valentin@freesbee.fr

6 réponses

cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
29 avril 2003 à 18:50
Une requête du type 'SELECT Numero_client WHERE Numero_client=[Paramètre de la fonction] AND Nom_client <> "" ' n'irait-elle pas ?!

Ensuite, en vérifiant si le résultat renvoyé contient au moins une ligne, tu pourras répondre True ou False... Je ne connais pas beaucoup le monde de MySQL, et ne l'utilise qu'en PHP... Donc je ne sais pas comment ça marche en Delphi, mais ça me semble faisable !!!

Bonne prog' !
[mailto:bestiol@cario.fr Bestiol.]
0
Neopheus Messages postés 21 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 25 novembre 2005
29 avril 2003 à 19:05
Salut !

Je connaissais cette requête, mais je ne sais pas comment m'en servir pour ce que je veux faire. C'est à dire cette $!^^$$ùùù$^^!!!! de fonction :D

Donc si quelqu'un serai, ça m'aiderai énormément.

Merci pour ta réponse

VALENTIN Xavier
www.darkskull.net
xavier.valentin@freesbee.fr
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
29 avril 2003 à 22:20
Si tu utilises une requête, tu utilises surement un composant TSqlDataSet ou quelque chose de similaire. Alors, ce composant doit avoir une propriété RecordCount indiquant le nombre d'enregistrement retournés par ta requête.
C'est pas plus compliqué que celà.
May Delphi be with you
0
Neopheus Messages postés 21 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 25 novembre 2005
29 avril 2003 à 22:37
Je n'utilise aucun composant, justement, je m'appuie sur MySQL.pas que j'ai trouvé là : http://www.fichtner.net/delphi/mysql/

Merci qd même

VALENTIN Xavier
www.darkskull.net
xavier.valentin@freesbee.fr
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bestiol Messages postés 833 Date d'inscription dimanche 6 janvier 2002 Statut Membre Dernière intervention 3 novembre 2005 1
30 avril 2003 à 10:09
Je viens de regarderl'unité dont tu parles...

D'après ce que j'ai pu voir (très rapidement... j'ai pas eu beaucoup de temps !), comme l'unité est basée sur l'utilisation de la DLL "officielle" libmysql.dll, tu peux voir qu'il y a une variable "mysql_num_rows" qui récupère l'adresse de la fonction du même nom dans la DLL...

Il te suffirait donc d'appeler cette fonction pour savoir combien de lignes il y a dans le résultat obtenu avec ta requête...

Bonne prog' !
[mailto:bestiol@cario.fr Bestiol.]
0
Neopheus Messages postés 21 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 25 novembre 2005
4 mai 2003 à 13:40
Salut,

Voici la fonction que j'avais fait, mais c pas un grand succès :'(

function numero_utilise(table_name: string; numero: longint):boolean;
begin
MemoVirtuel := TStringList.Create;
try
MemoVirtuel.Add('');
MemoVirtuel.Add('SELECT * FROM ' + table_name + ' WHERE numero = "' + IntToStr(numero) + '"');
MainForm.SendMySQL;
if mysql_num_rows(res_set) <> 0 then Result := True else Result := False;
MemoVirtuel.Clear;
finally
MemoVirtuel.Free;
end;

// Tri_BDD;
//MainForm.Table.IndexName:='Index Number';
// ainsi la recherche se fera sur le champ Number

{ if not MainForm.Table.FindKey([numero]) then result := False
else result := True; }

// FindKey recherche l'enregistrement qui contient dans
//le champ Number le contenu de numero
end;

VALENTIN Xavier
www.darkskull.net
xavier.valentin@freesbee.fr
0
Rejoignez-nous