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 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