Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Tipos de Datos (https://www.clubdelphi.com/foros/showthread.php?t=79673)

novato_erick 27-07-2012 23:17:47

Tipos de Datos
 
Hola a todos:

Estoy Tratando de realizar un insert en sql el cual tengo un campo llamado 'ESTAD' de tipo Char en mi db de firebird que es enviado con un componente TRadioButton sin embargo no he logrado implementar mande un valor de 1 y valor de 0 a mi DB.

Este es un ejemplo como lo estoy realizando:

Código Delphi [-]
procedure TfrmTransacciones.rbActivoClick(Sender: TObject);
Var
Estado : char;
begin
 if TRadioButton(sender).Name='rbActivo' then
 begin
  Estado := 1;
 end;
 if TRadioButton(sender).Name='rbInactivo' then
 begin
  Estado := 0;
 end;
end;

en mi sentencia sql esta asi:

Código Delphi [-]
procedure TfrmTransacciones.btnAgregarClick(Sender: TObject);
var
trn:tdbxTransaction;
exito:boolean;

begin
 trn := dmConexion.dmConexion.BeginTransaction;
 try
with dmConexion.qClientes do
    begin
     sql.Clear;
     sql.Add('insert into Clientes(CEDULA, NOMBRE, PAIS, DIRECCION, TELEFONO, FAX, ESTADO)');
     sql.Add('values (:pCEDULA,:pNOMBRE,:pPAIS,:pDIRECCION,:pTELEFONO,:pFAX,:pEstado )');
     parambyname ('pCEDULA').asstring := edtCedula.Text;
     parambyname ('pNOMBRE').AsString :=edtNombre.Text;
     parambyname ('pPAIS').AsString := edtPais.Text;
     parambyname ('pDIRECCION').AsString :=edtPais.Text;
     parambyname ('PTELEFONO').AsString := edtTelefono.Text;
     parambyname ('pFAX').AsString := edtFax.Text;
     parambyname ('pESTADO').AsString := Estado;
     execsql;
    begin
      dmConexion.dmConexion.CommitFreeAndNil(trn);
      exito := true;
    end;
    end;
except
  on e:exception do
  begin
    dmConexion.dmConexion.RollbackFreeAndNil(trn);
    showmessage ('Error Encontrado'+ e.message);
  end;
 end;
  if
  exito = true then
  begin
    Showmessage ('Cliente Agregado');
    Close;
  end;
end;


Saludos

novato_erick

novato_erick 27-07-2012 23:18:51

PD: las caras con la lengua no son parte del codigo SQL :P = : Parametro

novato_erick 27-07-2012 23:28:27

El problema que el valor

Código Delphi [-]

Estado := '0';

No es enviado a la tabla Estado de la DB

kapcomx 28-07-2012 00:20:06

variable
 
que tal amigo novato_erick, el problema es que tu variable Estado no esta declarada como una variable global
la declaras y le asignas valor en el procedimiento del radio button

Código Delphi [-]
procedure TfrmTransacciones.rbActivoClick(Sender: TObject); Var Estado : char; begin

quitala de ahi y colocala arriba
Código Delphi [-]
 private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmTransacciones: TfrmTransacciones; 
Estado : char; 
implementation

saludos...:cool:

ecfisa 28-07-2012 02:19:37

Cita:

Empezado por novato_erick (Mensaje 438374)
PD: las caras con la lengua no son parte del codigo SQL :P = : Parametro

Hola novato_erick.

Ya corregí los íconos en el código de tu mensaje; para evitar que aparezcan encerra a :p entre las etiquetas noparse.

Por ejemplo: [noparse]:p[/noparse]CEDULA

Un saludo. :)

novato_erick 28-07-2012 17:19:12

Cita:

ecfisa
gracias por corregir el codigo...


Cita:

kapcomx
gracias me sirvio...


Saludos compañeros...

novato_erick


La franja horaria es GMT +2. Ahora son las 01:41:04.

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