Qt et SQL Server

spider727 Messages postés 1 Date d'inscription mercredi 10 décembre 2008 Statut Membre Dernière intervention 11 mai 2009 - 11 mai 2009 à 13:36
cs_sayafried1208 Messages postés 2 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 24 février 2010 - 16 déc. 2009 à 14:53
Bonjour,

je suis un etudiant et je prepare un projet qui aura un interface avec Qt et une sgbd avec sql management studio 2008 et un serveur sur SQL Server 2008!
j'ai posé mes problemes sur d'autre forum mais ils aiment pas les débutants, voila qu'un ami m'a suggéré d'essayé votre site en disant que c'est le meilleur! je vous pris de me donnée un cout de main.
bon,
j'ai préparé ma base et j'ai commencé à faire la connexion avec Qt à travers ODBC et je pense que ça marche puisque y'as pas de msg d'erreur, voila mon main:
//main
#include <QApplication>
#include <FPrincipale.h>

#include <QSqlDatabase>

#include <QSqlError>

#include <QMessageBox>

#include <QSqlQuery>

int main(int argc, char *argv[])

{

QApplication app(argc, argv);

FPrincipale *fenetre = new FPrincipale;

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");

db.setDatabaseName("monDSN"); // DSN

db.setUserName("amir");

db.setPassword("amir");

if(!db.open())

{

QMessageBox::critical(0, QObject::tr("Database Error"), db.lastError().text());

}

fenetre->show();

return app.exec();

}

Le problème c'est que j'ai ajouté une fenetre pour l'ajout de client dans la base mais sans succès, ilya un msg d'erreur que afiche Qt tt le temps:

C:/Users/Amir/Documents/testss/sql/sql/main.cpp:2: In file included from main.cpp:2:

C:/Users/Amir/Documents/testss/sql/sql/./FPrincipale.h:20: error: expected `;' before "private"

voila mon code pour la FPrincipale.h

#ifndef FPRINCIPALE_H

#define FPRINCIPALE_H

#include <QWidget>

class QPushButton;

class QLineEdit;

class FPrincipale : public QWidget

{

Q_OBJECT

public:

FPrincipale(QWidget *parent = 0);

public slots:

void opajout()

private                             // y'as tjr un trait rouge en ddessous de private

QPushButton *annuler;

QLineEdit *nom;

QLineEdit *prenom;

QLineEdit *adresse;

QLineEdit *telephone;

QLineEdit *email;

};

#endif

je vous donne aussi mon fichier cpp pour que vous puissiez m'aidez sur les rêquetes:

#include "FPrincipale.h"

#include <QFormLayout>

#include <QMessageBox>

FPrincipale::FPrincipale()

{

setFixedSize(300, 250);

nom = new QLineEdit();

prenom = new QLineEdit();

adresse = new QLineEdit();

telephone = new QLineEdit();

email = new QLineEdit();

QFormLayout *defLayout = new QFormLayout;

defLayout->addRow("&Nom :", nom);

defLayout->addRow("&Prénom :", prenom);

defLayout->addRow("&Adresse :", adresse);

defLayout->addRow("&Numéro de téléphone :", telephone);

defLayout->addRow("e_mail : ",email);

valider = new QPushButton("&Valider", this);

annuler = new QPushButton("&Annuler", this);

QGroupBox *groupDefinition = new QGroupBox("Ajout d'un client");

groupDefinition->setLayout(defLayout);

groupDefinition->setGeometry(30, 20, 150, 50);

QVBoxLayout *boutonsLayout = new QVBoxLayout;

boutonsLayout->addWidget(groupDefinition);

boutonsLayout->addWidget(valider);

setLayout(boutonsLayout);

QObject::connect( valider, SIGNAL(clicked()), this, SLOT(opajout()) );

connect(valider, SIGNAL(clicked()), this, SLOT(close()));

}

void FPrincipale::opajout()

{

QMessageBox::information(this, "Titre de la fenêtre", "Houra ça marche !");

QSqlQuery query;

query.prepare("INSERT INTO client (nom, prenom, adresse, tel, mail)"

"VALUES (:Nom, :Prenom, :Adresse, :Num Tel, Email)");

query.bindValue(":Nom", nom);

query.bindValue(":Prenom", prenom);

query.bindValue(":Adresse", adresse);

query.bindValue(":Num Tel",telephone );

query.bindValue(":Email",email);

query.exec();

}

Merci d'avance

1 réponse

cs_sayafried1208 Messages postés 2 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 24 février 2010
16 déc. 2009 à 14:53
Slt!
Tu dois mettre le ";" :
-> void opajout();
et le :
-> private :
0
Rejoignez-nous