2008-12-03 31 views
13

Sugerencia, ¿cómo insertar un valor nulo en la tabla utilizando clases Trolltech Qt 4.x SQL? QSqlQuery, supongo, o algo más de QtNetwork. Como análogo de esto, en .NET está la clase System.DbNull, que representa sql NULL.¿Cómo insertar un valor nulo con Qt?

¿Y qué tipo debo usar para la propiedad de algún objeto, que puede contener tanto el valor nulo como QString? En C# podría usar System.Object.

Respuesta

20

De QSqlQuery::addBindValue documentación:

Para enlazar un valor NULL, utilice un nulo QVariant; por ejemplo, use QVariant (QVariant :: String) si tiene vinculando una cadena.

+0

Muchas gracias por esta respuesta, ¡justo lo que estaba buscando! Para aquellos que lo necesitan para otros tipos de datos, simplemente use QVariant (QVariant :: Date) y así sucesivamente. (feliz de deshacerse de todos los valores "0000-00-00" en mi base de datos ahora :-)) – Wim

1

Respondiendo a la segunda pregunta, QString puede ser nulo.

+0

Creo que no estaba claro. Quiero decir no 'C++ null' sino' SQL NULL'. – abatishchev

0

La pregunta es para QT 4, pero creo que vale la pena mencionar que en QT 5 solo tiene que pasar un valor NULL.

Cuestiones relacionadas