Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   codigo para guardar dato tipo bit (https://www.clubdelphi.com/foros/showthread.php?t=68415)

marareta 12-06-2010 00:57:01

codigo para guardar dato tipo bit
 
hola, de nuevo molestandolos, estoy haciendo un programa y tengo bastantes datos, masomenos la mitad son varchar y los demas son tipo bit, estoy usando mysql y delphi 2010, a la hora de guardar los datos en delphi en un query con los varcha rno hay problema porke pues uso el codigo siguiente:
Código Delphi [-]
 
QueryPac.SQL.Add('Insert into pacientes(nombre,apaterno,amaterno,edad) values('
                +chr(39)+edit3.Text+chr(39)+','
                +chr(39)+edit4.Text+chr(39)+','+chr(39)+edit5.Text+chr(39)+','
                  +chr(39)+edit6.Text+chr(39)+')');
el problema lo tengo con los tipo bit, que en delphi son radiobuttons o checkbox, como pongo la sintaxis en el query para guardar el valor? porque segun yo el radiobutton porejemplo el valor es radiobutton1.checked:=true o false, pero en el query como lo pongo.
Como siempre muchas gracias de antemano

osmuar_exp 12-06-2010 03:11:39

BoolToStr
 
Hola buenas noches, creo que esto te puede servir:

Código Delphi [-]
QueryPac.SQL.Add('Insert into pacientes(nombre,campo_bit) values('
                +chr(39)+edit3.Text+chr(39)+','
                +BoolToStr(false)+')');

Saludos verdaderos.

olbeup 14-06-2010 08:43:01

Mira este código si te sirve:
Código Delphi [-]
procedure TForm1.Insertar;
var
  ValueChk: Array[Boolean] of ShortInt = (0, 1);
begin
  with QueryPac do
  begin
    SQL.Add('INSERT INTO Pacientes(NOMBRE, CAMPO_BIT)');
    SQL.Add('VALUES(' + QuotedStr(Edit3.Text)+ ', ' + IntToStr(ValueChk[CheckBox1.Checked]) + ')');
  end;
end;
Los Campos Bit pueden tener 3 valores distintos:
0 = False, 1 = True, -1 = True

Un saludo.

cloayza 15-06-2010 16:40:33

Sugiero la siguiente modificacion...
Código Delphi [-]
procedure TForm1.Insertar;
begin
  with QueryPac do
  begin
    SQL.Add('INSERT INTO Pacientes(NOMBRE, CAMPO_BIT)');
    SQL.Add('VALUES(' + QuotedStr(Edit3.Text)+ ', ' + IntToStr(Integer(CheckBox1.Checked)) + ')');
  end;
end;

Saludos

raiden1813 07-08-2010 23:20:21

Gracias me sirvio de ayuda esa modificacion que isiste amigo,


La franja horaria es GMT +2. Ahora son las 16:30:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi