Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/06/2013, 19:21
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Como ejecutar un update en sqlite

Tu código no tiene sentido. Así lo edite y le puse algunos comentarios.

Código C++:
Ver original
  1. void Widget::on_Button_registro_clicked()
  2. {
  3.  
  4.  
  5.     QSqlQuery query;
  6.     // Esto de preferencia no deberia ir aqui.
  7.     query.prepare("CREATE TABLE IF NOT EXISTS registro(id INTEGER UNIQUE PRIMARY KEY AUTOINCREMENT,usuario VARCHAR(30), pass VARCHAR(30))");
  8.     if(query.exec())
  9.     {
  10.         qDebug("tabla creada");
  11.     }
  12.  
  13.     // Así es como deberías hacer el insert.
  14.     query.prepare("INSERT INTO registro(usuario, pass) VALUES(:nom,:cont)");
  15.     query.bindValue(":nom",ui->Edit_usuario_registro->text());
  16.     query.bindValue(":cont",ui->Edit_pass_registro->text());
  17.     query.exec();
  18.  
  19.     // En este query te faltan muchas cosas.
  20.     // Primero que vas a actualizar?
  21.     // La sintaxis del update es asi: UPDATE table_name SET col1=val1, col2=val2 WHERE col1=some_value.
  22.     // Mas info aqui http://www.sqlite.org/lang_update.html
  23.     // Parece que tu caso lo que quieres es:
  24.     // UPDATE usuario SET pass=:pass WHERE id=:id
  25.     // No te olvides hacerle el bindValue de :pass y :id
  26.     // Tampoco de olvides de hacer el query.exec();
  27.     // Por ultimo, supongo que quieres hacer solo un insert o un update
  28.     // Esto esta relacionado con el id, buena suerte.
  29.     query.prepare("UPDATE usuario,pass WHERE id=?");
  30.  
  31.  
  32. }