Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Como insertar variables (enteros)??? (https://www.clubdelphi.com/foros/showthread.php?t=52055)

patito123 09-01-2008 00:40:25

Como insertar variables (enteros)???
 
Hola :) alguien me puede ayudar con el siguiente codigo, no se como meter variables con un valor entero a mysql, la sentencia esta bien solo que no se como se pone para que reconozca que son variables enteras. Bueno les agradezco mucho.

Código Delphi [-]
 
var
 a,b,c,d:integer;
begin
a:=StrToInt(LCBMunicipio.Text);
b:=StrToInt(LCBLocalidad.Text);
c:=StrToInt(LCBZona.Text);
d:=StrToInt(LCBContacto.Text);
DataModule1.ADOQueryEscuela.Close;
DataModule1.ADOQueryEscuela.SQL.Clear;
DataModule1.ADOQueryEscuela.SQL.Text:='insert into escuela (nombre,clave,tipo,id_municipio,id_localidad,id_zona,id_contacto) values('+char(39)+EditNombreEscuela.Text+char(39)+','+char(39)+EditClaveEscuela.Text+char(39)+','+ch  ar(39)+LCBTipo.Text+char(39)+',a,b,c,d)';[/color]
DataModule1.ADOQueryEscuela.ExecSQL;
end;

Caral 09-01-2008 01:39:32

Hola
Bienvenido al club
Lo que no entiendo es para que meter variables en esa sentencia?.
Por que no directamente?.
No veo que las variables hagan algo?
Por otro lado, usa parametros es mejor.
Saludos

cHackAll 09-01-2008 01:45:49

Código Delphi [-]
... .Text := 'insert into escuela (nombre,clave,tipo,id_municipio,id_localidad,id_zona,id_contacto) values
('''+EditNombreEscuela.Text+''','''+EditClaveEscuela.Text+''','''+LCBTipo.Text+''', '+IntToStr(a)+','+IntToStr(b)+','+IntToStr(c)+','+IntToStr(d)+')';

Caral 09-01-2008 03:40:37

Hola
Otro dato adicional.
Esto:
Código Delphi [-]
DataModule1.ADOQueryEscuela.SQL.Clear;
No se necesita, Text borra el contenido anterior, si el query tuvo algo antes.
Saludos

patito123 09-01-2008 06:56:41

Gracias ya quedo
 
Muchas gracias por atenderme.
De verdad les gradezco mucho
AL final el codigo lo deje asi (de acuerdo con sus sugerencias)y funciona bien

Código Delphi [-]
var
a,b,c,d:integer;
begin
a:=StrToInt(LCBMunicipio.Text);
b:=StrToInt(LCBLocalidad.Text);
c:=StrToInt(LCBZona.Text);
d:=StrToInt(LCBContacto.Text);
DataModule1.ADOQueryEscuela.Close;
 
DataModule1.ADOQueryEscuela.SQL.Text:='insert into escuela (nombre,clave,tipo,id_municipio,id_localidad,id_zona,id_contacto) values('+char(39)+EditNombreEscuela.Text+char(39)+','+char(39)+EditClaveEscuela.Text+char(39)+','+ch  ar(39)+LCBTipo.Text+char(39)+','+IntToStr(a)+','+IntToStr(b)+','+IntToStr(c)+','+IntToStr(d)+')';

showmessage(DataModule1.ADOQueryEscuela.SQL.Text);
DataModule1.ADOQueryEscuela.ExecSQL;

Gracias :)

cHackAll 09-01-2008 19:25:45

Solo una cosa; no entiendo por que utilizas StrToInt para despues regresarlo al estado original con IntToStr...

Claro; si utilizas las variables para "algo" esta bien; si no es en vano.

patito123 11-01-2008 19:12:31

Gracias Es correcto
 
Ok gracias Tienes Razon. Ya le quite esa conversion innecesaria. Lo que pasa es q no sabia como hacerlo al principio e hice varias pruebas :)

Gracias.

patito123 20-01-2008 21:17:31

Seleccionar valor en DBLookupComboBox
 
Hola Como estan?

Veran me la he pasado un buen rato con este problema:

Estoy haciendo una consulta y el resultado de la consulta lo quiero poner en DBLookupComboBox 's (cada valor de los campos de la tabla consultada en un DBLookupComboBox).

El problema es que los DBLookupComboBox donde quiero poner los resultados de la consulta tambien los utilizo para insertar datos en la base de datos(mysql 5) y el objetivo es desplegar los datos para poder modificarlos.

procedure TForm1.BotonBuscarClick(Sender: TObject);
begin
Datamodule1.ADOQueryEscuela.SQL.Clear;
DataModule1.ADOQueryEscuela.SQL.Add('select * from escuela where clave='+#39+LCBClaveEscuela.Text+#39);
DataModule1.ADOQueryEscuela.Active;
Datamodule1.ADOQueryEscuela.Open;
if (DataModule1.ADOQueryEscuela.ExecSQL > 0) then
begin
EditClaveEscuela.Text:=DataModule1.ADOQueryEscuela['clave'];
EditNombreEscuela.Text:=DataModule1.ADOQueryEscuela['nombre'];
DBLookupComboBoxTipo.Text:=DataModule1.ADOQueryEscuela['tipo'];
end;

Lo he intentado con la propiedad .Text, .ListField .KeyValue pero no he logrado desplegar los datos en el DBLookupComboBox

pero en realidad lo que quiero es seleccionar en el DBLookupComboBox y no asignar un valor en este

Lepe 21-01-2008 07:28:46

Cita:

Empezado por patito123 (Mensaje 259528)
pero en realidad lo que quiero es seleccionar en el DBLookupComboBox y no asignar un valor en este

No se puede. Dicho control está pensado para que al seleccionar un dato, se asigne al campo DataField al que está conectado.

Existen controles de terceros (en la JVCL) donde tienes el LookupComboBox, que no está conectado a un DataSource, por ende, al seleccionar, no asigna nada a un campo determinado.

Saludos


La franja horaria es GMT +2. Ahora son las 07:05:34.

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