Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Spanish
  4. UPDATE CON DB SQLITE..NO SALE
Forum Updated to NodeBB v4.3 + New Features

UPDATE CON DB SQLITE..NO SALE

Scheduled Pinned Locked Moved Solved Spanish
16 Posts 5 Posters 2.2k Views 1 Watching
  • 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
    Casino
    wrote on last edited by
    #1

    void Blind_Dialog :: on_modificar_clicked ()
    {

    QSqlQuery actualizar;
    if(db.open()){

    actualizar.prepare("UPDATE blinds SET sblind, bblind, ante, time, break WHERE Id = 5"
    "VALUES (:sblind, :bblind, :ante, :time, :break)");

    actualizar.bindValue(":sblind",ui->Sblind->text());
    actualizar.bindValue(":bblind",ui->Bblind->text());
    actualizar.bindValue(":ante",ui->Ante->text());
    actualizar.bindValue(":time",ui->Time->text());
    actualizar.bindValue(":break",ui->Break->text());
    actualizar.exec();
    if(!actualizar.exec())
    {
    qDebug() << "Can't Execute Query !";
    }
    else
    {
    qDebug() << "Query Executed Successfully !";
    }

    if(actualizar.exec()){
    qDebug()<<"El registro se ha modificado";
    }else{
    qDebug()<<"El registro NO se ha modificado";
    qDebug()<<"ERROR!"<<actualizar.lastError();
    }
    }else
    qDebug()<<"La base de datos no esta abierta";
    }
    // Mensaje del programa ERROR! QSqlError ("", "No coincide el recuento de parámetros", "")

    JonBJ 1 Reply Last reply
    0
    • C Casino

      void Blind_Dialog :: on_modificar_clicked ()
      {

      QSqlQuery actualizar;
      if(db.open()){

      actualizar.prepare("UPDATE blinds SET sblind, bblind, ante, time, break WHERE Id = 5"
      "VALUES (:sblind, :bblind, :ante, :time, :break)");

      actualizar.bindValue(":sblind",ui->Sblind->text());
      actualizar.bindValue(":bblind",ui->Bblind->text());
      actualizar.bindValue(":ante",ui->Ante->text());
      actualizar.bindValue(":time",ui->Time->text());
      actualizar.bindValue(":break",ui->Break->text());
      actualizar.exec();
      if(!actualizar.exec())
      {
      qDebug() << "Can't Execute Query !";
      }
      else
      {
      qDebug() << "Query Executed Successfully !";
      }

      if(actualizar.exec()){
      qDebug()<<"El registro se ha modificado";
      }else{
      qDebug()<<"El registro NO se ha modificado";
      qDebug()<<"ERROR!"<<actualizar.lastError();
      }
      }else
      qDebug()<<"La base de datos no esta abierta";
      }
      // Mensaje del programa ERROR! QSqlError ("", "No coincide el recuento de parámetros", "")

      JonBJ Offline
      JonBJ Offline
      JonB
      wrote on last edited by
      #2

      @Casino said in UPDATE CON DB SQLITE..NO SALE:

      actualizar.prepare("UPDATE blinds SET sblind, bblind, ante, time, break WHERE Id = 5"
      "VALUES (:sblind, :bblind, :ante, :time, :break)");

      => WHERE Id = 5VALUES

      Should be: WHERE Id = 5 VALUES

      C 1 Reply Last reply
      1
      • JonBJ JonB

        @Casino said in UPDATE CON DB SQLITE..NO SALE:

        actualizar.prepare("UPDATE blinds SET sblind, bblind, ante, time, break WHERE Id = 5"
        "VALUES (:sblind, :bblind, :ante, :time, :break)");

        => WHERE Id = 5VALUES

        Should be: WHERE Id = 5 VALUES

        C Offline
        C Offline
        Casino
        wrote on last edited by
        #3

        @JonB
        sigue igual el mismo mensaje de error.

        jsulmJ 1 Reply Last reply
        0
        • C Casino

          @JonB
          sigue igual el mismo mensaje de error.

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

          @Casino Why do you call exec() two times (actually 3 times!)?

          actualizar.exec();
          if(!actualizar.exec())
          
          if(!actualizar.exec())
          {
              qDebug() << "Can't Execute Query !";
              qDebug() << actualizar.executedQuery(); // What does this print out?
          }
          

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

          C 1 Reply Last reply
          0
          • jsulmJ jsulm

            @Casino Why do you call exec() two times (actually 3 times!)?

            actualizar.exec();
            if(!actualizar.exec())
            
            if(!actualizar.exec())
            {
                qDebug() << "Can't Execute Query !";
                qDebug() << actualizar.executedQuery(); // What does this print out?
            }
            
            C Offline
            C Offline
            Casino
            wrote on last edited by
            #5

            @jsulm
            los puse por que fui agregando condicionales...pero los acabo de sacar y sigo igual...

            C 1 Reply Last reply
            0
            • C Casino

              @jsulm
              los puse por que fui agregando condicionales...pero los acabo de sacar y sigo igual...

              C Offline
              C Offline
              Casino
              wrote on last edited by
              #6

              @Casino
              en el caso de borrar me pasa lo mismo mira
              void Blind_Dialog::on_borrar_clicked()
              {
              QSqlQuery borrar;

              borrar.prepare("DELETE FROM blinds WHERE sblind = 100 ");
              if(borrar.exec()){
                 qDebug()<<"El registro se ha modificado";
              }else{
                 qDebug()<<"El registro NO se ha modificado";
                 qDebug()<<"ERROR!"<<borrar.lastError();
              }
              

              }

              El mensaje de error ERROR! QSqlError("", "Unable to fetch row", "No query")

              1 Reply Last reply
              0
              • juankiJ Offline
                juankiJ Offline
                juanki
                Moderators
                wrote on last edited by
                #7

                Hola

                Cuando es UPDATE, no tendría que ser:

                actualizar.prepare("UPDATE blinds SET sblind = :sblind, bblind = :bblind, ante = :ante, time = :time, break = :break WHERE Id = 5");
                

                Nunca lo había visto como lo has puesto.

                En cuanto a lo del DELETE, no sé, como no le estás pasando parámetros a la query, no uses prepare, ejecútala directamente.

                Si no se soluciona con lo que digo, pon también la estructura de la tabla, a ver si damos con el error.

                Un saludo

                Intenta explicar el problema lo más claro y detallado posible. Adjunta los errores y el código que creas da el error.
                Procura escribir correctamente y sin faltas de ortografía.

                Si la duda se solucionó, por favor, marca el tema como 'solucionado'.

                1 Reply Last reply
                1
                • C Offline
                  C Offline
                  Casino
                  wrote on last edited by
                  #8

                  Te envio la tabla
                  void Blind_Dialog::CrearTablaCiegas()
                  {
                  QString consulta;
                  consulta.append("CREATE TABLE IF NOT EXISTS Ciegas("
                  "Id INTEGER NOT NULL PRIMARY KEY,"
                  "sblind INTEGER,"
                  "bblind INTEGER,"
                  "ante INTEGER,"
                  "time INTEGER,"
                  "break INTEGER"
                  ")");
                  QSqlQuery crear;
                  crear.prepare(consulta);

                  if(crear.exec()){
                     qDebug()<<"La tabla CIEGAS existe o se ha creado correctamente";
                  }else{
                     qDebug()<<"La tabla CIEGAS NO existe o NO se ha creado correctamente";
                     qDebug()<<"ERROR!"<<crear.lastError();
                  }
                  

                  }

                  juankiJ 1 Reply Last reply
                  0
                  • C Casino

                    Te envio la tabla
                    void Blind_Dialog::CrearTablaCiegas()
                    {
                    QString consulta;
                    consulta.append("CREATE TABLE IF NOT EXISTS Ciegas("
                    "Id INTEGER NOT NULL PRIMARY KEY,"
                    "sblind INTEGER,"
                    "bblind INTEGER,"
                    "ante INTEGER,"
                    "time INTEGER,"
                    "break INTEGER"
                    ")");
                    QSqlQuery crear;
                    crear.prepare(consulta);

                    if(crear.exec()){
                       qDebug()<<"La tabla CIEGAS existe o se ha creado correctamente";
                    }else{
                       qDebug()<<"La tabla CIEGAS NO existe o NO se ha creado correctamente";
                       qDebug()<<"ERROR!"<<crear.lastError();
                    }
                    

                    }

                    juankiJ Offline
                    juankiJ Offline
                    juanki
                    Moderators
                    wrote on last edited by
                    #9

                    @Casino said in UPDATE CON DB SQLITE..NO SALE:

                    Hola, en los ejemplos que pusiste antes, tanto en el DELETE como en el UPDATE, lo estás tratando de hacer sobre una tabla que se llama blinds. La que nos muestras ahora tiene otro nombre: Ciegas.

                    consulta.append("CREATE TABLE IF NOT EXISTS Ciegas("
                    

                    ¿No te habrás equivocado de tabla? ¿Probaste la modificación que te propuse para el UPDATE?

                    Un saludo

                    Intenta explicar el problema lo más claro y detallado posible. Adjunta los errores y el código que creas da el error.
                    Procura escribir correctamente y sin faltas de ortografía.

                    Si la duda se solucionó, por favor, marca el tema como 'solucionado'.

                    C 1 Reply Last reply
                    0
                    • juankiJ juanki

                      @Casino said in UPDATE CON DB SQLITE..NO SALE:

                      Hola, en los ejemplos que pusiste antes, tanto en el DELETE como en el UPDATE, lo estás tratando de hacer sobre una tabla que se llama blinds. La que nos muestras ahora tiene otro nombre: Ciegas.

                      consulta.append("CREATE TABLE IF NOT EXISTS Ciegas("
                      

                      ¿No te habrás equivocado de tabla? ¿Probaste la modificación que te propuse para el UPDATE?

                      Un saludo

                      C Offline
                      C Offline
                      Casino
                      wrote on last edited by
                      #10

                      @juanki
                      Perdón, sorry, en el idioma que sea, la db se llama blinds, y la tabla Ciegas, cuando quería actualizar o borrar me remitía a la db, creyendo que ese era el camino. MUCHÍSIMAS GRACIAS.-

                      1 Reply Last reply
                      0
                      • juankiJ Offline
                        juankiJ Offline
                        juanki
                        Moderators
                        wrote on last edited by
                        #11

                        Hola

                        Me alegro que se solucionara, las operaciones hay que hacerlas sobre las tablas.

                        Por favor, si el tema se solucionó, marque como resuelto el tema.

                        Un saludo

                        Intenta explicar el problema lo más claro y detallado posible. Adjunta los errores y el código que creas da el error.
                        Procura escribir correctamente y sin faltas de ortografía.

                        Si la duda se solucionó, por favor, marca el tema como 'solucionado'.

                        C 1 Reply Last reply
                        0
                        • juankiJ juanki

                          Hola

                          Me alegro que se solucionara, las operaciones hay que hacerlas sobre las tablas.

                          Por favor, si el tema se solucionó, marque como resuelto el tema.

                          Un saludo

                          C Offline
                          C Offline
                          Casino
                          wrote on last edited by
                          #12

                          @juanki
                          ahora bien, yo utilizo
                          void Blind_Dialog::on_Ciegas_itemClicked(QTableWidgetItem *item)
                          {
                          f = item->row();
                          ui->numero->setText(QString::number(f));
                          QTableWidgetItem *Sblind = ui->Ciegas->item(f,0);
                          QTableWidgetItem *Bblind = ui->Ciegas->item(f,1);
                          QTableWidgetItem *Ante = ui->Ciegas->item(f,2);
                          QTableWidgetItem *Time = ui->Ciegas->item(f,3);
                          QTableWidgetItem *Break = ui->Ciegas->item(f,4);

                          ui->Sblind->setText(Sblind->text());
                          ui->Bblind->setText(Bblind->text());
                          ui->Ante->setText(Ante->text());
                          ui->Time->setText(Time->text());
                          ui->Break->setText(Break->text());
                          

                          }
                          para ubicar la fila que quiero modificar, uno o todos los valores, por lo que paso el valor f para actualizar la tabla, ahi se producen errores pese a que f es un int, si le paso el valor o sea 1, 10 o lo que sea la tabla se modifica ytodo bien, pero con f no, que puede ser???

                          1 Reply Last reply
                          0
                          • juankiJ Offline
                            juankiJ Offline
                            juanki
                            Moderators
                            wrote on last edited by juanki
                            #13

                            Hola

                            Tienes que crear un hilo o conversación nueva para esta nueva pregunta, ya que nada tiene que ver con el asunto de esta.

                            Cuando crees la nueva conversación, indica por favor los errores que obtienes, eso ayuda mucho a quien quiera ayudarte.

                            Un saludo

                            Intenta explicar el problema lo más claro y detallado posible. Adjunta los errores y el código que creas da el error.
                            Procura escribir correctamente y sin faltas de ortografía.

                            Si la duda se solucionó, por favor, marca el tema como 'solucionado'.

                            1 Reply Last reply
                            0
                            • Y Offline
                              Y Offline
                              Yanley
                              wrote on last edited by
                              #14

                              void RegistroEstudiantes::crearTablaUsuarios()
                              {
                              QString consulta;
                              consulta.append("CREATE TABLE IF NOT EXISTS usuarios("
                              "id INTEGER PRIMARY KEY AUTOINCREMENT,"
                              "nombre VARCHAR(100),"
                              "apellidos VARCHAR(100),"
                              "carnet VARCHAR(100),"
                              "direccion VARCHAR(100),"
                              "circunscripcion VARCHAR(100),"
                              "ausencias INTEGER NOT NULL,"
                              "promedio VARCHAR(100),"
                              "grupo VARCHAR(100),"
                              "suspenso VARCHAR(100)"
                              ");");
                              QSqlQuery crear;
                              crear.prepare(consulta);

                                if(crear.exec())
                                {
                                     qDebug()<<"La tabla USUARIO existe o Se ha creado correctamente...";
                                }else{
                                      qDebug()<<"La tabla USUARIO NO existe o No se ha creado correctamente...";
                                      qDebug()<<"ERROR! "<< crear.lastError();
                                }
                              
                              Y 1 Reply Last reply
                              0
                              • Y Yanley

                                void RegistroEstudiantes::crearTablaUsuarios()
                                {
                                QString consulta;
                                consulta.append("CREATE TABLE IF NOT EXISTS usuarios("
                                "id INTEGER PRIMARY KEY AUTOINCREMENT,"
                                "nombre VARCHAR(100),"
                                "apellidos VARCHAR(100),"
                                "carnet VARCHAR(100),"
                                "direccion VARCHAR(100),"
                                "circunscripcion VARCHAR(100),"
                                "ausencias INTEGER NOT NULL,"
                                "promedio VARCHAR(100),"
                                "grupo VARCHAR(100),"
                                "suspenso VARCHAR(100)"
                                ");");
                                QSqlQuery crear;
                                crear.prepare(consulta);

                                  if(crear.exec())
                                  {
                                       qDebug()<<"La tabla USUARIO existe o Se ha creado correctamente...";
                                  }else{
                                        qDebug()<<"La tabla USUARIO NO existe o No se ha creado correctamente...";
                                        qDebug()<<"ERROR! "<< crear.lastError();
                                  }
                                
                                Y Offline
                                Y Offline
                                Yanley
                                wrote on last edited by
                                #15

                                @Yanley

                                Tengo esta tabla y tengo la consulta de la tabla como puedo modificar los datos de la tabla que es esta:

                                void MostrarDatos::mostrarDatos()
                                {
                                QString consulta;
                                consulta.append("SELECT * FROM usuarios");
                                QSqlQuery consultar;
                                consultar.prepare(consulta);

                                  if(consultar.exec())
                                  {
                                       qDebug()<<"Se ha consultado correctamente.";
                                  }else{
                                        qDebug()<<"NO se ha consultado correctamente.";
                                        qDebug()<<"ERROR! "<< consultar.lastError();
                                  }
                                
                                
                                
                                  int fila=0;
                                
                                
                                  ui->tableWidgetDatos->setRowCount(0);
                                
                                  while(consultar.next()){
                                
                                
                                    ui->tableWidgetDatos->insertRow(fila);
                                    ui->tableWidgetDatos->setItem(fila,0,new QTableWidgetItem(consultar.value(1).toByteArray().constData()));
                                    ui->tableWidgetDatos->setItem(fila,1,new QTableWidgetItem(consultar.value(2).toByteArray().constData()));
                                    ui->tableWidgetDatos->setItem(fila,2,new QTableWidgetItem(consultar.value(3).toByteArray().constData()));
                                    ui->tableWidgetDatos->setItem(fila,3,new QTableWidgetItem(consultar.value(4).toByteArray().constData()));
                                    ui->tableWidgetDatos->setItem(fila,4,new QTableWidgetItem(consultar.value(5).toByteArray().constData()));
                                    ui->tableWidgetDatos->setItem(fila,5,new QTableWidgetItem(consultar.value(6).toByteArray().constData()));
                                    ui->tableWidgetDatos->setItem(fila,6,new QTableWidgetItem(consultar.value(7).toByteArray().constData()));
                                    ui->tableWidgetDatos->setItem(fila,7,new QTableWidgetItem(consultar.value(8).toByteArray().constData()));
                                    ui->tableWidgetDatos->setItem(fila,8,new QTableWidgetItem(consultar.value(9).toByteArray().constData()));
                                    fila++;
                                  }
                                
                                1 Reply Last reply
                                0
                                • juankiJ Offline
                                  juankiJ Offline
                                  juanki
                                  Moderators
                                  wrote on last edited by
                                  #16

                                  Hola

                                  Por favor, no preguntes en un hilo de otra consulta, crea un mensaje nuevo cuando tengas una duda.

                                  en cuanto a tu consulta, ¿te refieres a modificar los datos en la base de datos?

                                  Un saludo

                                  Intenta explicar el problema lo más claro y detallado posible. Adjunta los errores y el código que creas da el error.
                                  Procura escribir correctamente y sin faltas de ortografía.

                                  Si la duda se solucionó, por favor, marca el tema como 'solucionado'.

                                  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