Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. SQL Abfrage und Vergleich mit dem "Namen"
Forum Updated to NodeBB v4.3 + New Features

SQL Abfrage und Vergleich mit dem "Namen"

Scheduled Pinned Locked Moved Unsolved German
3 Posts 3 Posters 1.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    cprogcoder
    wrote on last edited by
    #1

    Hallo,

    ich versuche gerade über eine QLineEdit Fenster den Nachnamen mit einer SQL Datenbank abzufragen.
    Dazu habe ich die Fragen :

    • Wie übernehme ich den Namen evtl so dass es eine Abfrage möglich ist ?
    • Ich müsste danach wahrscheinlich noch jeden Eintrag über eine Schleife abfragen damit ich nur den / die gültigen Nachnamen filtere und in der QTableView Ansicht zeige.

    Die Abschnitte der Codes habe ich unten beigefügt, wäre dankbar wenn ihr mir den Code zur Unterstützung beifügen könntet

    Vielen Dank

    void Suchen::on_SucheStart_clicked()
    {

    QString suchen1;
    QString sqlAbfrage = "anachname = '" + suchen1 + "'";
    
    suchen1 = ui->lineEditname->text();
    sqlAbfrage = suchen1;
    
    QMessageBox::information(this,"Anfrage",suchen1);
    
    //wenn eine Verbindung zu Datenbank besteht
    if (dbVerbunden == true)
    {
        if (suchen1 == "Mueller" )
    
        //sqlAbfrage == "Mueller"
        //suchen == ui->lineEditname->text()
    
        {
        //den Dialog anzeigen
        suchenliste *formListeSuchen = new suchenliste();
        formListeSuchen->show();
        }
    
        else
        //den Dialog anzeigen
        QMessageBox::information(this,"Nachname Suche","keine Ergebnisse");
    
    
    }
    

    Code about SQL

    suchenliste::suchenliste()
    {

    //QString sqlAbfrage;
    QString suchen;
    suchen = "Strobelt";
    
    //den Fenstertitel setzen
    setWindowTitle("Suchen Anzeige");
    //das Modell erstellen
    QSqlTableModel *modell = new QSqlTableModel(this);
    //die Tabelle setzen
    modell->setTable("adressen");
    //"anachname" == sqlAbfrage
    modell->setFilter("anachname = 'Mueller'"); //"anachname = 'Mueller'"
    
    //die Texte für die Spaltenköpfe setzen
    modell->setHeaderData(0, Qt::Horizontal, "ID");
    modell->setHeaderData(1, Qt::Horizontal, "Vorname");
    modell->setHeaderData(2, Qt::Horizontal, "Name");
    modell->setHeaderData(3, Qt::Horizontal, "Strasse");
    modell->setHeaderData(4, Qt::Horizontal, "PLZ");
    modell->setHeaderData(5, Qt::Horizontal, "Ort");
    modell->setHeaderData(6, Qt::Horizontal, "Telefon");
    
    //die Daten beschaffen
    modell->select();
    
    //die TableView erstellen
    QTableView *ansicht = new QTableView(this);
    //mit dem Modell verbinden
    ansicht->setModel(modell);
    //die Breite der Spalten an den Inhalt anpassen
    ansicht->resizeColumnsToContents();
    //die Größe setzen
    ansicht->resize(500,300);
    

    }

    reply

    jsulmJ 1 Reply Last reply
    0
    • C cprogcoder

      Hallo,

      ich versuche gerade über eine QLineEdit Fenster den Nachnamen mit einer SQL Datenbank abzufragen.
      Dazu habe ich die Fragen :

      • Wie übernehme ich den Namen evtl so dass es eine Abfrage möglich ist ?
      • Ich müsste danach wahrscheinlich noch jeden Eintrag über eine Schleife abfragen damit ich nur den / die gültigen Nachnamen filtere und in der QTableView Ansicht zeige.

      Die Abschnitte der Codes habe ich unten beigefügt, wäre dankbar wenn ihr mir den Code zur Unterstützung beifügen könntet

      Vielen Dank

      void Suchen::on_SucheStart_clicked()
      {

      QString suchen1;
      QString sqlAbfrage = "anachname = '" + suchen1 + "'";
      
      suchen1 = ui->lineEditname->text();
      sqlAbfrage = suchen1;
      
      QMessageBox::information(this,"Anfrage",suchen1);
      
      //wenn eine Verbindung zu Datenbank besteht
      if (dbVerbunden == true)
      {
          if (suchen1 == "Mueller" )
      
          //sqlAbfrage == "Mueller"
          //suchen == ui->lineEditname->text()
      
          {
          //den Dialog anzeigen
          suchenliste *formListeSuchen = new suchenliste();
          formListeSuchen->show();
          }
      
          else
          //den Dialog anzeigen
          QMessageBox::information(this,"Nachname Suche","keine Ergebnisse");
      
      
      }
      

      Code about SQL

      suchenliste::suchenliste()
      {

      //QString sqlAbfrage;
      QString suchen;
      suchen = "Strobelt";
      
      //den Fenstertitel setzen
      setWindowTitle("Suchen Anzeige");
      //das Modell erstellen
      QSqlTableModel *modell = new QSqlTableModel(this);
      //die Tabelle setzen
      modell->setTable("adressen");
      //"anachname" == sqlAbfrage
      modell->setFilter("anachname = 'Mueller'"); //"anachname = 'Mueller'"
      
      //die Texte für die Spaltenköpfe setzen
      modell->setHeaderData(0, Qt::Horizontal, "ID");
      modell->setHeaderData(1, Qt::Horizontal, "Vorname");
      modell->setHeaderData(2, Qt::Horizontal, "Name");
      modell->setHeaderData(3, Qt::Horizontal, "Strasse");
      modell->setHeaderData(4, Qt::Horizontal, "PLZ");
      modell->setHeaderData(5, Qt::Horizontal, "Ort");
      modell->setHeaderData(6, Qt::Horizontal, "Telefon");
      
      //die Daten beschaffen
      modell->select();
      
      //die TableView erstellen
      QTableView *ansicht = new QTableView(this);
      //mit dem Modell verbinden
      ansicht->setModel(modell);
      //die Breite der Spalten an den Inhalt anpassen
      ansicht->resizeColumnsToContents();
      //die Größe setzen
      ansicht->resize(500,300);
      

      }

      reply

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @cprogcoder Verstehe die Frage ehrlich gesagt nicht ganz.
      "Wie übernehme ich den Namen evtl so dass es eine Abfrage möglich ist ?" - ui->lineEditname->text(); macht doch genau das?

      suchenliste formListeSuchen(ui->lineEditname->text());
      formListeSuchen.show();
      
      suchenliste::suchenliste(const QString &nachname)
      {
          //den Fenstertitel setzen
          setWindowTitle("Suchen Anzeige");
          //das Modell erstellen
          QSqlTableModel *modell = new QSqlTableModel(this);
          //die Tabelle setzen
          modell->setTable("adressen");
          //"anachname" == sqlAbfrage
          modell->setFilter(QString("anachname = '%1'").arg(nachname));
      ...
      

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • K Offline
        K Offline
        knasan
        wrote on last edited by knasan
        #3

        Morgen,

        ich habe die Frage auch nicht wirklich verstanden, wollte jedoch mal mein Quellcode posten wie ich das mache.

        1. QLine Edit as String
        suchen1 = ui->lineEditname->text();
        

        Jetzt muss man noch einen Query erstellen.

        // Query String
        QString myquery = "SELECT * FROM users WHERE nachmame = '%" + suchen1 + "%' ";
        //Query erstellen
        QSqlQuery query(myquery);
        // Query abfragen
        QString result;
        while(query.next())
        {
            result = query.value(0).toString;
            qDebug() << "query result" << result;
            if(result == "Müller")
            {
              // Result in einer QStringListe oder Array oder was immer du hast speichern.
              YouQStringList.append(result);
            }
        }
        

        Jetzt kann mein sein Array oder QStringList usw. weiterverarbeiten.
        Ich hoffe ich konnte helfen.

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved