Ayuda! Obtener Id de un registro en una table de base de datos
-
Saludos desde Buenos Aires gente,
Quería pedirles si pueden ayudarme con esta duda, ¿Cómo obtener la id de un registro en una tabla de una base de datos al buscarla por medio de una QSqlQuery?
El código que hice:@bool DataBase::Buscar(QString nombreTabla, eCampos campo, QString aBuscar)
{
QSqlQuery buscar;switch(campo) { case NOMBRE: buscar.prepare("SELECT * FROM "+nombreTabla+" WHERE nombre = '"+aBuscar+"';"); break; case CODIGO: buscar.prepare("SELECT * FROM "+nombreTabla+" WHERE codigo = '"+aBuscar+"';"); break; default: break; } buscar.exec(); if(buscar.next()) { return true; } else return false;
}@
Este método retorna true si encuentra un registro en una tabla con el nobmre XXXX en el campo nombre, o si se busca por código hará lo mismo.
Ahora lo que me gustaría hacer es, en vez de retornar un simple flag, devolver el valor de la id de ese registro.
Espero lean mi consulta y puedan ayudarme. Mauro. -
Hola
En la documentación tienes un pequeño ejemplo, tienes que usar el método value de la clase QSqlQuery:
http://qt-project.org/doc/qt-5/qsqlquery.html#details
http://qt-project.org/doc/qt-5/qsqlquery.html#valueÉchale también un vistazo a bindValue para preparar las consultas SQL:
http://qt-project.org/doc/qt-5/qsqlquery.html#approaches-to-binding-values
http://qt-project.org/doc/qt-5/qsqlquery.html#bindValueSaludos
-
Gracias juanki, los links que pasaste son un golaso.
Modifique el codigo no solo usando lo de values, también empeze a usar los bindValues -
Hola
[quote author="mauro.gramajo" date="1417573335"]...los links que pasaste son un golaso...[/quote]
Esos link son la documentación oficial, tenla siempre a mano, ya has visto que está muy bien, además de incluir numerosos ejemplos. Tiene además muchos ejemplos de programas completos:
http://qt-project.org/doc/qt-5/all-examples.htmlToda esa documentación la tienes disponible también desde QtCreator (si instalaste el paquete correspondiente), dale al icono con forma de ? que aparece en el lado izquierdo y la podrás consultar.
Saludos