cs_yannb
Messages postés4Date d'inscriptionlundi 15 avril 2002StatutMembreDernière intervention29 avril 2002
-
15 avril 2002 à 16:58
cs_yannb
Messages postés4Date d'inscriptionlundi 15 avril 2002StatutMembreDernière intervention29 avril 2002
-
23 avril 2002 à 12:44
dans 1 programme en C (socket serveur sous LINUX) je doit faire des requetes SQL afin d'obtenir des informations contenues dans une base de données.
Ma questio est:
COMMENT ON FAIT CA??????????
merci a l'avance...
Yann
cs_bily
Messages postés40Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention 8 novembre 2002 18 avril 2002 à 10:54
Vegeta :-)
je connait 2 moyen mais j'en metrise 1 seul haha
ma methode elle simple :
imaginon que t es requete sondeja toute faite et que tout fonctionne correctement sauf que c'est toujour sur le meme PC-local
imagion aussi que ta crée une fonction appelon la SQl ok
void SQL(AnsiString nom)
{
AnsiString requete; requete " select * from BD where name";
requete = requete +" ' "+nom+" ' "
// attention ne pas mettre d'espace blanc
// car sql en tien compte donc faire
// ex : requete = requete +"'"+nom+"'" ok
// Query1 est le composant qui permet de faire
// des requetes sql
maintenant ta une focntion qui permet de faire une requet sql qui premet de chercer un nom par parametre.
j'imagine quie tu c manipuler les composant qui permet d'afficher un BD
DBGrig ca te dis quelque chose ? moi je travaile surtout enc++buiilder
DBGrig est le composant qui permet d'afficher les RESULTATS d'une requete
Table est la table de ta BD
bon si tu ne c pas je te farai un programme exmple ok
La programmation reseau comment faire
la je t'explique commentn faire si c toi qui dois creer le "serveur" et sa BD
si tu dois faire uniquement des requetes
tu dois le faire a l'aide des alias cad que tu dois connaitre le chemin precis et complet de la BD
auquels du dois prendre des informations
tu connais les sockets windows ? c csimples
tu dois metre un socket serveur sur l'application qui
contient la BD et un socket client
pour pouvoir envoye et recevoir simplement
et sur ta machine tu mes un socket client et un socket serveur pour ... idem qu'en haut
sur client
tu configure le socket Client
cad ip serveur dans le socket client du
pc qui demande une information sur la bd.
le port de communication met 8080 par exemple.
sur le serveur
idem
tu configure le socket Client
cad ip du PCCLEINT dans le socket client
le port de communication met 8080 par exemple.
le port doir etre le meme pour les pc qui veulent communiquer entre eux.
la je t'explique comment faire si c TOI qui creer la BD et le "serveur" si c pas ca réecrit moi ok
pui tu envoi un message au serveur par exmple ton
ip deja pour savoir qui c'est qui parle
et tu colle au message un nom exemple
// SC1 est le nom du socket client par ex.
//au PC CLIENT
SC1->SendText("192.168.0.1-vegeta");
// SS1 est le nom du socket serveur par ex.
// au PC SERVEUR
AnsiString mes = SS1-MessageReceive();
char *tab;
tab = new strlen(mes.c_str());
// la je creer un tableau dynamiquement
// puisque je ne connais pas sa taille en avance
strcpy(tab,mes.c_str());
// IP client
char *IP = strtok(tab,"-")
// Nom de la personne a recherche
char *NOM = strtok(NULL,"-")
et la tu appelle ta fonction SQL
SQL ( AnsiString(NOM) );
// voila ta executer une requete a distance
maintenant tui prend le resultat et tu te la renvoi a l'ecrant
mais il est vrai que pour faire ce genre de programme vaut mieux utiliser les alias a l'aide de l'ODBC et tralalla
a mon avis c ce que tu dois faire car le renvoi du resultat peut etre enorme et a ce moment la pour envoyer tout le resultat risquerai de faire griller
les cellules grise du cerveau haha
envoi moi un mail exlpiquent ce que tu dois faire precisement et je tacherai d'y repondre des que j'ai le temp ok
cs_yannb
Messages postés4Date d'inscriptionlundi 15 avril 2002StatutMembreDernière intervention29 avril 2002 23 avril 2002 à 12:44
ah ba alors la !!!
bein en fait, je dois juste programmer un sicket client ,et un socket serveur qui va contenir la requete SQL afin d'interroger la base de donnée
(au fait c pas moi qui doit la faire la base de donnée).
je doit juste avec la requete contenue dans le socket serveur prendre un nom, un prenom et une classe de la BD pour l'envoyer au client.
je developpe sous Linux avec gcc.
Au fait DBrid ????????????????
Query???????????????
AnsiString?????? c quoi comme type
ODBC????????????
Pour ce qui est des sockets; tout fonctionne (ouf ,quand meme!!!!!! histoire qu'avec tous ce que je t'ai dis je passe pas trop pour un con!! y'a des fois je me dis qu'en bac+2 en info on a quand meme pas mal de lacunes!!!)