Delphi - Insertar "NULL" a un parametro de una sentenciaSQL

 
Vista:

Insertar "NULL" a un parametro de una sentenciaSQL

Publicado por Joselito (3 intervenciones) el 25/02/2005 09:02:32
Con un ejemplo:
ADOQuery1.SQL.Text := 'INSERT INTO Conductores (IdConductor,idCarnet)
VALUES (:idConductor,idCarnet)'

El valor para "idCarnet" puede ser un entero o "null", pero no sé como introducir "null" con una sentencia del tipo:
ADOQueryDes.Parameters.ParamByName('idCarnet').Value:=
**
(en ** he probado: nil, null, 'nil', 'null', Unassigned, etc... pero no he dado con la solución. Agradeceré mucho vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Insertar

Publicado por VoidPointer (29 intervenciones) el 25/02/2005 12:29:21
si no le pones nada, no es igual?, en algunas base de datos de access cunado yo le pongo permitir valor nulo, la ventaja es que no es obligatorio ese campo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insertar

Publicado por Joselito (3 intervenciones) el 25/02/2005 15:58:10
No, no es igual.. dentro de un bucle en el que el "INSERT" se ejecuta varias veces, si no pongo nada en la pasad que quiero null, entonces se inserta el valor de la inserción anterior. Digamos que hay que "limpiarlo" de alguna manera.

VoidPointer?,Cómo se usa? no encuentro nada sobre esto en la ayuda de delphi, sigo buscando. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insertar

Publicado por Joselito (3 intervenciones) el 25/02/2005 18:27:29
Para campos enteros ya lo tengo resuelto, antes del bucle hago:
ADOQueryDes.Parameters.ParamByName('idCarnet').DataType:=ftIngeter;

y después, en cada vuelta de bucle, introduzco el valor entero o null, según el caso.

Pero esto no me sirve para campos de fecha (con ftDateTime, las fechas nulas se quedan bien, e.d, nulas, pero las buenas, salen todas a 0:00:00).

gracias

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar