Probleme sql sous QT

Probleme sql sous QT - SQL/NoSQL - Programmation

Marsh Posté le 30-04-2012 à 20:18:30    

Bonjour à tous ,  
étant nouveau sur le forum et débutant en informatique, je me permet de vous demander de l'aide par rapport à mon programme ^^ .
J'ai un site et une base de donnée , le client commande sur le site et le serveur envoi les commandes aux différents clients .
En faite j'ai fait un client serveur sous QT, j'arrive à envoyer les requêtes aux clients,du coté des clients, il n'y a aucun souci, ca marche, ils recoivent parfaitement les informations une à une. Mais lorsque le serveur envoie la requête , il affiche uniquement la dernière commande de la base de donnée sur l'ihm du serveur. Ce que je voudrai c'est qu'il affiche la première commande à envoyer ensuite la deuxième, après la troisième ...  
J'espére que vous avez compris , j'ai un peu de mal à expliquer ^^ .
 
Voici un bout de mon code ou le problème se pose :
 
QString messagerecu;
in >> messagerecu;
message2->append(messagerecu);
 
if( messagerecu == "macommande" )
{
 
QSqlDatabase db ( QSqlDatabase::addDatabase("QMYSQL" ));
db.setHostName("localhost" );
db.setDatabaseName("e-commerce" );
db.setUserName("root" );
db.setPassword("" );
QString idcommande;
QString produit;
QString client;
QString qtemax;
QString qte;
db.open();
 
 
QSqlQuery query("SELECT *from commande ORDER BY idcommande ASC " );
while(query.next())
{
 
idcommande = query.value(0).toString();
produit =query.value(1).toString();
client=query.value(2).toString();
qtemax=query.value(3).toString();
qte=query.value(5).toString();
 
messageAEnvoyer ="$"+idcommande+"+"+client+"+"+produit+"+"+qtemax+"+"+qte+"$";
 
QByteArray paquetsend;
QDataStream out(&paquetsend, QIODevice::WriteOnly);
 
 
out << (quint16) 0;
out << messageAEnvoyer;
out.device()->seek(0);
out << (quint16) (paquetsend.size() - sizeof(quint16));
 
 
clients[0]->write(paquetsend); // On envoie le paquet
}
 
message2->append(tr("Message envoyer! Serveur" )+":$" +messageAEnvoyer+"$" );
 
Merci et bonne soirée  ;)

Reply

Marsh Posté le 30-04-2012 à 20:18:30   

Reply

Marsh Posté le 03-05-2012 à 08:37:25    

Bonjour a tous , je me permet de relancer le sujet .
personne pour m'aider ?? :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed