Neopheus
Messages postés21Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention25 novembre 2005
-
29 avril 2003 à 17:58
Neopheus
Messages postés21Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention25 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 :
cs_Bestiol
Messages postés833Date d'inscriptiondimanche 6 janvier 2002StatutMembreDernière intervention 3 novembre 20051 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 !!!
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 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
cs_Bestiol
Messages postés833Date d'inscriptiondimanche 6 janvier 2002StatutMembreDernière intervention 3 novembre 20051 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...
Neopheus
Messages postés21Date d'inscriptionsamedi 16 novembre 2002StatutMembreDernière intervention25 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;