PDA

Ver la Versión Completa : Helpme..con Sql


tebre
03-03-2009, 20:06:21
hola mi duda es la siguiente.. quiero hacer esa consulta, pero tengo un campo que es boolean.. el problema que quiero filtrar pero me marca el error en el Where....alguien que me pueda ayudar............


procedure TFrmSolicitudesNuevas.FormShow(Sender: TObject);
begin
Datos.Qrysolicitud.Active:= False;
Datos.Qrysolicitud.SQL.Clear;
Datos.QrySolicitud.SQL.Add('SELECT Solicitud.FolioSolicitud,Solicitud.FechaSolicitud, Direccion.NombreDireccion');
Datos.QrySolicitud.SQL.Add('FROM Solicitud INNER JOIN Direccion ON Solicitud.ClaveDireccion = Direccion.ClaveDireccion');
Datos.QrySolicitud.SQL.Add('WHERE Autorizado =' False ';'); {Autorizado es boolean. aqui es el problema como comparar??}
Datos.QrySolicitud.Active:= True;
end;

roman
03-03-2009, 20:12:29
No entiendo que intentabas hacer aquí:


Datos.QrySolicitud.SQL.Add('WHERE Autorizado =' False ';');


basta que pongas


Datos.QrySolicitud.SQL.Add('WHERE Autorizado = False');


// Saludos

tebre
03-03-2009, 20:18:22
Disculpa me marca un error.. invalid column name 'false'
y no me muestra nada....
:confused:

roman
03-03-2009, 20:27:43
Pues es muy raro. ¿qué base usas?

// Saludos

tebre
03-03-2009, 20:30:29
SQl server 2005. es que soy nuevo en delphi y si me ha estado costando adaptarme.........:rolleyes:

Al González
03-03-2009, 20:49:39
¿Sabes qué tipo de campo es Autorizado? (SmallInt, Char, etc.) ¿Y qué valor representa el "sí" y cuál el "no"?

EDITO: Ya vi la parte donde dices que es Boolean, pero tengo mis dudas...

tebre
03-03-2009, 20:54:55
ok gracias por reasponder...sabes...el tipo de dato del campo es del tipo BIT...lo raro es que ya tiene datos ingresaados y tienen false....

que tipo de datos le puedo ingresar...y cmo hacer las comparaciones....gracias

roman
03-03-2009, 20:55:54
Yo también tengo mis dudas. No conozco SQL Server pero hay motores que no manejan campos booleanos o hay que definirlo explícitamente. Posiblemente se trata de un entero.

// Saludos

coso
03-03-2009, 20:58:28
hola,

Datos.QrySolicitud.SQL.Add('WHERE Autorizado = False');


en teoria eso te deberia de funcionar, de todas maneras puedes probar

Datos.QrySolicitud.SQL.Add('WHERE NOT Autorizado');

roman
03-03-2009, 21:00:00
en teoria eso te deberia de funcionar, de todas maneras puedes probar


De hecho es lo que ya le pusimos antes, y nos comentó que le marca el error de que no existe la columna.

// Saludos

coso
03-03-2009, 21:01:20
Si, roman, lo cogi de tu post (debi poner el quote y no el delphi). Es raro que le de error

Al González
03-03-2009, 21:09:34
Me dice un compa que uses 0 (cero) en lugar de False. :)

Dinos si te funciona.

Caro
03-03-2009, 23:23:48
ok gracias por reasponder...sabes...el tipo de dato del campo es del tipo BIT...

Hola, si es de tipo bit entonces debes preguntar por 0 (False) o 1(True).

Saluditos