コード例 #1
0
void supprimeringredient::valider_supprimer()
{
    int choix = QMessageBox::question(this,"Notice!","Voulez vous supprimer l\'ingredient suivant ?",QMessageBox::Yes,QMessageBox::No);

        if (choix == QMessageBox::Yes)
        {
            table->setQuery(QString("UPDATE ingredients SET ingredients = null WHERE ingredients = ").append("\""+ui->comboIngredients->currentText()+"\""));
            QSqlQuery verif(QString("SELECT ingredients FROM ingredients WHERE ingredients.ingredients != \"\" AND ingredients = ").append("\""+ui->comboIngredients->currentText()+"\""));
            int i = -1;
            while (verif.next())
            {
                i++;

            }
            if (i == -1)
	    {
                QMessageBox::information(this,"Notice","L\'ingredient a été supprimé avec succès",QMessageBox::Ok);
		QSqlQuery requete("SELECT DISTINCT ingredients FROM produit where ingredients != \"\"");
    while(requete.next())
    {
      ui->comboIngredients->addItem(requete.value(0).toString());
    }
		
	    }

             }
            if (choix == QMessageBox::No)
                return;



}
コード例 #2
0
ファイル: dialogconnection.cpp プロジェクト: Plamp/GSB-TAF
void DialogConnection::on_buttonBox_Connect_accepted()
{
QString chRequete="select count(*) from travailler where VIS_MATRICULE='"+ui->lineEdit_Matricule->text()+"' and JJMMAA='"+ui->lineEdit_Password->text()+"';";
qDebug()<<chRequete;
QSqlQuery requete(chRequete);
requete.first();
if(requete.value(0) == 1)
{
     qDebug("Login et password existant");
     requete.exec("select JJMMAA, TRA_ROLE from travailler where TRA_ROLE!='Visiteur' AND VIS_MATRICULE='"+ui->lineEdit_Matricule->text()+"' AND JJMMAA='"+ui->lineEdit_Password->text()+"' group by VIS_MATRICULE having JJMMAA=MAX(JJMMAA);");
  //  requete.first();
    qDebug()<<requete.value(0).toString()+" test";
    if(requete.first())
            {
        qDebug()<<"Connexion reussi";
            accept();
    }
   else
    {
        qDebug("Mais vous ne possedez pas l'autorisation d'utiliser cette application, veuillez contacter votre chef de service ou l'administrateur");
        reject();
    }


}
else
{
    qDebug("Login et password inexistant");
    reject();
}

//fin void
}
コード例 #3
0
ファイル: favoris.cpp プロジェクト: Eskimon/EskiWeb
void Favoris::creer(void)
{
    db_fav.setDatabaseName(qApp->applicationDirPath() + "/favoris.sqlite");
    if(!db_fav.open())
    {
	QMessageBox::critical(this,"","connection aux favoris echoué " + db_fav.lastError().text());
	return;
    }

    QSqlQuery requete(db_fav);
    //création de la table "dossiers"
    if(!requete.exec("Create Table dossiers (nom_dossier text, parent text, primary key(nom_dossier,parent));"))
	QMessageBox::information(this,"Erreur","Erreur lors de l'accès à la base de donnée" + requete.lastError().text());

    //création de la table "adresses"
    if(!requete.exec("Create Table adresses (id integer, url text, nom_favoris text, dossier text, favicon blob, primary key(id), foreign key(dossier) references dossiers(nom_dossier));"))
	QMessageBox::information(this,"Erreur","Erreur lors de l'accès à la base de donnée" + requete.lastError().text());

    //ajout du dossier racine "favoris"
    if(!requete.exec("Insert Into dossiers (nom_dossier) values ('favoris');"))
	QMessageBox::information(this,"Erreur","Erreur lors de l'accès à la base de donnée" + requete.lastError().text());

    //ajout du dossier "barre de favoris"
    if(!requete.exec("Insert Into dossiers (nom_dossier,parent) values ('barre de favoris','favoris');"))
	QMessageBox::information(this,"Erreur","Erreur lors de l'accès à la base de donnée" + requete.lastError().text());
}
コード例 #4
0
ファイル: favoris.cpp プロジェクト: Eskimon/EskiWeb
void Favoris::get_barre(QList<TFavoris> * fav)
{
    QSqlQuery requete(db_fav);

    if(requete.exec("Select * from adresses where dossier='barre de favoris';"))
    {
	int nom = requete.record().indexOf("nom_favoris");
	int url = requete.record().indexOf("url");
	int path = requete.record().indexOf("dossier");
	int favicon = requete.record().indexOf("favicon");

	TFavoris temp;
	QPixmap * pix = NULL; //pointeur sur un pixmap

	while(requete.next())
	{
	    pix = new QPixmap; //on le crée et le détruit à chaque passage... c'est moche mais ca marche :s
	    //qDebug() << nom << url << path << favicon;
	    temp.url = requete.value(url).toString();
	    temp.nom = requete.value(nom).toString();
	    temp.path = requete.value(path).toString();
	    pix->loadFromData(requete.value(favicon).toByteArray(),"png");
	    temp.favicon = QIcon(*pix);
	    fav->append(temp);
	}
	delete pix; //destruction du pixmap... (c'est moche mais ca marche...)
    }
    else
    {
	QMessageBox::critical(this,"Erreur","Problème de lecture des données :" + requete.lastError().text());
    }
}
コード例 #5
0
void DockWidgetListeMembreBande::listerLesTypeUnites()
{
    ui->comboBox_unite->clear();

    QSqlQuery requete(*m_db);
    requete.prepare("SELECT ref_profil.Nom FROM ref_profil"
                    " INNER JOIN liste_bandes"
                    " ON ref_profil.id_race= liste_bandes.id_race"
                    " WHERE liste_bandes.nom=:nom_bande ");
    requete.bindValue(":nom_bande", m_bandeActuelle, QSql::Out);

    if(requete.exec())
    {
        while(requete.next())
        {
            QString item= requete.value(0).toString();
            ui->comboBox_unite->addItem(item);
        }
    }
    else
    {
        qDebug() << m_db->lastError();
    }

}
コード例 #6
0
QList<Appareil*>* MappeurAppareils::pourClient(const int &idClient)
{
    QSqlQuery requete(*Application::bd);
    requete.prepare("SELECT * FROM appareils WHERE idClient=:idClient");
    requete.bindValue(":idClient", idClient);
    requete.exec();
    return mapper(requete);
}
コード例 #7
0
int MappeurAppareils::nombrePourClient(const int &idClient)
{
    int nombre = -1;
    QSqlQuery requete(*Application::bd);
    requete.prepare("SELECT count(*) as 'nb' FROM appareils WHERE idClient=:idClient");
    requete.bindValue(":idClient", idClient);
    requete.exec();
    if (requete.next()) {
        nombre = requete.record().value("nb").toInt();
    }
    return nombre;
}
コード例 #8
0
Appareil* MappeurAppareils::get(const int &id)
{
    Appareil* appareil = NULL;
    QSqlQuery requete(*Application::bd);
    requete.prepare("SELECT * FROM appareils WHERE id=:id");
    requete.bindValue(":id", id);
    requete.exec();
    if (requete.next()) {
        appareil = mapper(requete.record());
    }
    return appareil;
}
コード例 #9
0
/**
 * @brief MainWindow::getRayonByProduit
 * @param idProd
 * @return rayonLib s'il y a un rayon avec l'idProd
 * @return Message qui dit qu'il n'y a pas de produit avec l'id qui existe ou alors il n'a pas de rayons
 */
QString MainWindow::getRayonByProduit(QString idProd)
{
    QSqlQuery requete("select rayonLib from produit natural join rayon where produit.produitId="+idProd);
    requete.first();
    if(requete.size()>0)
    {
        return requete.value(0).toString();
    }
    else
    {
        return "Le produit avec comme id "+idProd+" n'éxiste pas ou n'est pas dans un rayon !";
    }
}
コード例 #10
0
ファイル: favoris.cpp プロジェクト: Eskimon/EskiWeb
void Favoris::afficher(void)
{
    QSqlQuery requete(db_fav);

    QDialog fenetre(this,Qt::Window);
    QGridLayout layout;
    QTreeWidget arbre;

    layout.addWidget(&arbre,0,0);

    fenetre.setLayout(&layout);

    fenetre.exec();
}
コード例 #11
0
void Dialog::on_pushButtonConnexion_clicked()
{
    QString stringRequete="select count(*) from superuser where login=\'"+ui->lineEditLogin->text()+"\' and pass=\'"+ui->lineEditPasswd->text()+"\'";
    QSqlQuery requete(stringRequete);
    requete.next();
    if(requete.value(0).toInt()==1)
    {
        accept();
    }
    else
    {
        reject();
    }

}
コード例 #12
0
supprimeringredient::supprimeringredient(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::supprimeringredient)
{
    ui->setupUi(this);
    setWindowTitle("Supprimer Ingrédients");
 
    table = new QSqlQueryModel;

    QSqlQuery requete("SELECT DISTINCT ingredients FROM ingredients where ingredients != \"\"");
    while(requete.next())
    {
      ui->comboIngredients->addItem(requete.value(0).toString());
    }
    QObject::connect(ui->buttonBox,SIGNAL(accepted()),this,SLOT(valider_supprimer()));
    QObject::connect(ui->buttonBox,SIGNAL(rejected()),this,SLOT(close()));

}
コード例 #13
0
ファイル: ztest.c プロジェクト: 2010fares/PMB
int http_get(char *query)
{
  struct sockaddr_in serverSockAddr;
  struct hostent *serverHostEnt;
  unsigned long hostAddr;
   
  /* initialise a zero serverSockAddr */
  bzero((void *)&serverSockAddr,sizeof(serverSockAddr));
  /* converti l'adresse ip en entier long */
  hostAddr = inet_addr(server_name);
  if ( (long)hostAddr != (long)-1)
    bcopy((void *)&hostAddr,(void *)&serverSockAddr.sin_addr,sizeof(hostAddr));
  else                /* si on a donné un nom  */
    {
      serverHostEnt = gethostbyname(server_name);
      if (serverHostEnt == NULL) {
	return 1;
      }
      bcopy((void *)serverHostEnt->h_addr,(void *)&serverSockAddr.sin_addr,serverHostEnt->h_length);
    }
  serverSockAddr.sin_port = htons(port);   /* host to network port  */
  serverSockAddr.sin_family = AF_INET;     /* AF_*** : INET=internet */
  
  /* creation de la socket */
  if ( (to_server_socket = socket(AF_INET,SOCK_STREAM,0)) < 0)
    {
      return 1;
    }
  /* requete de connexion */
  if(connect(to_server_socket,(struct sockaddr *)&serverSockAddr,sizeof(serverSockAddr))<0)
    {
      return 1;
    }
  
  if (requete(query)) return 1;
  
  /* fermeture de la connection */
  shutdown(to_server_socket,2);
  close(to_server_socket);
  return get_http_content();
}
コード例 #14
0
void DockWidgetListeMembreBande::listerLesRangs()
{
    ui->comboBox_rang->clear();

    QSqlQuery requete(*m_db);
    requete.prepare("SELECT nom_rang FROM rang");


    if(requete.exec())
    {
        while(requete.next())
        {
            QString item= requete.value(0).toString();
            ui->comboBox_rang->addItem(item);
        }
    }
    else
    {
        qDebug() << m_db->lastError();
    }
}
コード例 #15
0
void DockWidgetListeMembreBande::listerLesBandes()
{
    ui->comboBox_bande->clear();
    QSqlQuery requete(*m_db);
    if(!requete.prepare("SELECT nom FROM liste_bandes"))
        QMessageBox::critical(this, "Erreur","Erreur de conversion des données depuis la BDD");

    if(requete.exec())
    {
        while(requete.next())
        {
            QString item= requete.value(0).toString();
            ui->comboBox_bande->addItem(item);
        }
    }
    else
    {
        qDebug() << m_db->lastError();
    }
    m_bandeActuelle= ui->comboBox_bande->currentText();

}
コード例 #16
0
void TelechargerFichier::nouveauTelechargement(const QString lien)
{
	show();
	emit DesactiverIcone();

	if (lien.isEmpty() && lineLien->text().isEmpty())
		return;

	QUrl urlFichier = lineLien->text();

	if (!lien.isEmpty())
		urlFichier = lien;

	QUrlInfo infosUrl;
		infosUrl.setName(lineLien->text());

	if (!lien.isEmpty())
		infosUrl.setName(lien);


	if (infosUrl.isFile())
	{
		QFileInfo infosDL(infosUrl.name());

		if (QMessageBox::question(this, "Multiuso", "Voulez-vous enregistrer <em>« " + infosDL.fileName() + " »</em> ?",
					QMessageBox::Yes | QMessageBox::No) == QMessageBox::No)
			return;


		QSettings emplacementDossier(Multiuso::appDirPath() + "/ini/config.ini", QSettings::IniFormat);

		QDir dir;
			dir.mkpath(emplacementDossier.value("telechargements/dossier").toString() + "/Multiuso - Téléchargements");

		QFile fileTmp(emplacementDossier.value("telechargements/dossier").toString() + "/Multiuso - Téléchargements/" + infosDL.fileName());

		if (fileTmp.exists())
		{
			int reponse = QMessageBox::question(this, "Multiuso", "Le fichier <em>« " + infosDL.fileName() + " »</em> existe déjà !<br />"
					"Voulez-vous le remplacer ?", QMessageBox::Yes | QMessageBox::No);

			if (reponse == QMessageBox::Yes)
				fileTmp.remove();

			else
				return;
		}

		QNetworkRequest requete(urlFichier);

		QNetworkAccessManager *manager = new QNetworkAccessManager;

		QNetworkReply *reponse = manager->get(requete);

		connect(reponse, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(telechargementContinue(qint64, qint64)));
		connect(reponse, SIGNAL(finished()), this, SLOT(finTelechargement()));

		reponses << reponse;

		QProgressBar *progression = new QProgressBar;

		progressionsTelechargements << progression;

		nomsFichiers << infosDL.fileName();

		QString nomDuFichierActuel = infosDL.fileName();
			nomDuFichierActuel = Multiuso::htmlspecialchars(nomDuFichierActuel);

		QTableWidgetItem *nom = new QTableWidgetItem(nomDuFichierActuel);
			nom->setFlags(nom->flags() & ~Qt::ItemIsEditable);

		QTableWidgetItem *statut = new QTableWidgetItem("En attente...");
			statut->setFlags(statut->flags() & ~Qt::ItemIsEditable);

		QPushButton *annuler = new QPushButton;
			annuler->setToolTip("Téléchargement n°" + QString::number(listeTelechargements->rowCount() + 1));
			annuler->setIcon(QIcon(":/icones/telechargements/annuler.png"));
			connect(annuler, SIGNAL(clicked()), this, SLOT(annulerTelechargement()));

		int ligne = listeTelechargements->rowCount();

		listeTelechargements->setRowCount(listeTelechargements->rowCount() + 1);
		listeTelechargements->setCellWidget(ligne, 0, annuler);
		listeTelechargements->setItem(ligne, 1, nom);
		listeTelechargements->setCellWidget(ligne, 2, progression);
		listeTelechargements->setItem(ligne, 3, statut);

		listeTelechargements->resizeColumnsToContents();
		listeTelechargements->horizontalHeader()->setStretchLastSection(true);
	}
}
コード例 #17
0
ファイル: favoris.cpp プロジェクト: Eskimon/EskiWeb
bool Favoris::add(TFavoris * fav)
{
    QSqlQuery requete(db_fav);

    QDialog fenetre(this);
    QComboBox liste_dossiers;
    QLineEdit champ_nom(fav->nom);
    QDialogButtonBox btn(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal);
    QFormLayout layout;
    QStringList dossiers;

    liste_dossiers.setEditable(true);

    layout.addRow("nom du favoris :",&champ_nom);
    layout.addRow("Dossier :",&liste_dossiers);
    layout.addRow(&btn);
    fenetre.setLayout(&layout);

    connect(&btn,SIGNAL(accepted()),&fenetre,SLOT(accept()));
    connect(&btn,SIGNAL(rejected()),&fenetre,SLOT(close()));

    //on remplit la liste des dossiers
    if(requete.exec("Select nom_dossier from dossiers"))
    {
	while(requete.next())
	    dossiers << requete.value(0).toString();
    }
    else
	QMessageBox::critical(this,"Erreur","Problème survenu lors de la lecture des dossiers : " + requete.lastError().text());

    liste_dossiers.addItems(dossiers);

    if(fenetre.exec()) //si on click sur Save
    {
	QByteArray bytes;
	QBuffer buffer(&bytes);
	buffer.open(QIODevice::WriteOnly);
	QPixmap pix = fav->favicon.pixmap(16,16);
	pix.save(&buffer,"png");

	requete.prepare("INSERT INTO adresses (url,nom_favoris,dossier,favicon) VALUES (:url,:nom,:dossier,:favicon);");
	requete.bindValue(":url",fav->url,QSql::In);
	requete.bindValue(":nom",champ_nom.text(),QSql::In);
	requete.bindValue(":dossier",liste_dossiers.currentText(),QSql::In);
	requete.bindValue(":favicon",buffer.data(),QSql::In | QSql::Binary);

	buffer.close();

	if(dossiers.contains(liste_dossiers.currentText())) //si le dossier existe déjà
	{
	    if(!requete.exec())
	    {
		QMessageBox::critical(this,"Erreur","Problème survenu lors de l'enregistrement' : " + requete.lastError().text());
		return false;
	    }
	}
	else //sinon on doit l'ajouter dans la base de données...
	{
	    //if(!requete.exec("INSERT INTO adresses (url,nom_favoris,dossier,favicon) VALUES ('"+fav->url+"','"+champ_nom.text()+"','"+liste_dossiers.currentText()+"','"+QVariant(fav->favicon).toByteArray()+"');"))
	    if(!requete.exec())
	    {
		QMessageBox::critical(this,"Erreur","Problème survenu lors de l'enregistrement (adresse) : " + requete.lastError().text());
		return false;
	    }
	    if(!requete.exec("INSERT INTO dossiers (nom_dossier,parent) VALUES ('"+liste_dossiers.currentText()+"','favoris');"))
	    {
		QMessageBox::critical(this,"Erreur","Problème survenu lors de l'enregistrement (dossier) : " + requete.lastError().text());
		return false;
	    }
	}

    }
    else
	return false; //si l'enregistrement à merdé...

    fav->nom = champ_nom.text(); //nom sous lequel le lien à été enregitsré
    fav->path = liste_dossiers.currentText(); //nom du dossier dans lequel l'ajout à été fait...
    return true; //si l'enregistrement s'est bien passé
}
コード例 #18
0
void DockWidgetListeMembreBande::changerBande(QString nouvelleBande)
{
    m_bandeActuelle= nouvelleBande;
    ui->comboBox_bande->setCurrentIndex(ui->comboBox_bande->findText(nouvelleBande));
    listerLesTypeUnites();
    ui->comboBox_rang->setCurrentIndex(0);

 /*   QString requete, nouvelleBande_str;
    nouvelleBande_str= "`listemembre_" + nouvelleBande + "`";
    requete= "SELECT "+ nouvelleBande_str+".nom FROM "+ nouvelleBande_str;
    //requete += " INNER JOIN "


    m_model->setQuery(

    if(m_model->lastError().isValid())
        qDebug() << m_model->lastError() << "\n" << m_model->query().lastQuery();*/

/*--------------EXemples du treeView-----------------------------------------------
    itemModel->clear();
    QStandardItem *parentItem= itemModel->invisibleRootItem();
    for (int i = 0; i < 4; ++i) {
        QStandardItem *item = new QStandardItem(QString("item %0").arg(i));
        parentItem->appendRow(item);
        parentItem = item;
    }
    ui->treeView->setModel( itemModel);
------------------------------------------------------------------------------------*/
    QSqlQuery requeteRang(*m_db);
    QList<QStandardItem*> listeRang;
    requeteRang.exec("SELECT DISTINCT nom FROM listeRang");
    while(requeteRang.next())
        listeRang << new QStandardItem(requeteRang.value(0).toString());

    QSqlQuery requete(*m_db);
    QString str_bande=nouvelleBande ;
    QString str_requete= "SELECT ref_profil.rang, `listeMembre_"+ str_bande +"`.nom FROM `listeMembre_"+ str_bande +"` INNER JOIN ref_profil "
            +"ON ref_profil.id = `listeMembre_"+ str_bande +"`.id_ref_profil "
            +"ORDER BY ref_profil.rang;";
    requete.prepare(str_requete);


    QList<QStandardItem*> listeHeros;
    QList<QStandardItem*> listeHommesDeMain;



    if(requete.exec())
    {

        while( requete.next())
        {

            //QMessageBox::information(this, " ", requete.value("nom").toString());

            if(requete.value(0).toString() == "Héros" )
            {
                listeRang.at(0)->appendRow(new QStandardItem(requete.value("nom").toString()));
                //listeRang.at(0)->setChild(listeRang.at(0)->columnCount(), new QStandardItem(requete.value("nom").toString()));
            }
            else if (requete.value(0).toString() == "Hommes de main")
            {

                listeRang.at(1)->setChild(listeRang.at(1)->columnCount(), new QStandardItem(requete.value("nom").toString()));
            }

        }
        //listeRang.append(listeHeros);
        //listeRang.append(listeHommesDeMain);
        itemModel->clear();
        itemModel->appendColumn( listeRang);
        if( !itemModel->setHeaderData(0, Qt::Horizontal, QString("Membres de la bande"), 0))
            QMessageBox::information(this, "", "");

        //model.appendColumn(listeRang);

    }
    else
    {
        qDebug()<< requete.lastQuery() << requete.lastError();
    }

    ui->treeView->setModel( itemModel);
    ui->treeView->expandAll();


}