Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   como unir sql y delphi??? (https://www.clubdelphi.com/foros/showthread.php?t=39143)

jermy 11-01-2007 18:46:42

como unir sql y delphi???
 
hola muchachos necesito de su inmensa ayuda.
estoy empezando a prgramar en delphi, pero nose como hacer las consultas o como mezclar delphi con sql en las lineas de codigo, se usar el adoquery pero nose como es la linea de codigo para agregar , modificar, buscar , eliminar, se que es selec consulta add agregar, etc pero nose como hacerlo escribir el codigo,,, se los agradece muchisimo si conocieran algun manual que uniera ambas cosas sql y delphi.
de antemano muchisimas gracias

Bicho 11-01-2007 18:56:05

Hola, si tienes el componente ADOQuery y cualquiera descendiente de TQuery, debes usar la propiedad .SQl.Text allí pones la consulta SQL, quizá tengas que modificar al a modo de sintaxys para que el motor de la base de datos lo reconozca.

Así funciona:

Código Delphi [-]
 AdoQuery1.Active := False; //Desactivamos la Query si ya estuviera abierta
 AdoQuery1.SQL.Clear; //Borramos el contenido por si lo hubiera antes
 AdoQuery1.SQL.Text := 'SELECT * ' 
                               + '  FROM MITABLA '
                               + ' WHERE NOMBRE = "JOSE" '; //SQL es del tipo TStrings, usando Text, lo mandas todo como un unico String 
 // o puedes usar tambien Add, que es un string
 AdoQuery1.SQL.Add(' SELECT * ');
 AdoQuery1.SQL.Add('   FROM MITABLA');
 AdoQuery1.SQL.Add('  WHERE NOMBRE = "JOSE"');

 //Luego para ejecutar
 // Si es una consulta (SELECT)
 AdoQuery1.Active := True
 // o
 AdoQuery1.Open;

 // Si implica modificación (insert, update, delete, create, drop, etc) 
 AdoQuery1.ExecSQL;

Espero te sirva.

Saludos

jermy 11-01-2007 19:55:08

muchisimas gracias por toda tu ayuda, ya entiendo un poco sobre la union de ambas
GRACIAS.

BuenaOnda 11-01-2007 21:07:34

lo que dice bicho esta super bien, pero si quieres utilizar una variable, que contenga tu consulta deberia ser de la sgte manera :

//por ejemplo para realizar una consulta a la base de datos...

var
Cod : String;
Activo : String;
Consulta : String;
Encontrados : Integer;

Cod:='1';
Activo:='S';
Encontrados:=0;

Consulta:='';
Consulta:='Select * From Tabla';
Consulta:=Consulta + ' Where Codigo = ' + Trim(Cod);
Consulta:=Consulta + ' And RegistroActivo = ''' + Trim(Activo) + '''';

//Cuando el campo es de un tipo de dato Varchar(cadena,texto) o de un
//tipo DateTime se le deben anteponer tres comillas simples (') y cerrar
//con tres comillas simples('), si es que la concatenacion continua, o
//4 comillas simples si la concatenacion termina, en este caso el campo
// "Codigo" es de tipo Integer y RegistroActivo Varchar"....

TRY
AdoQuery1.Sql.Clear;
AdoQuery1.Sql.Text:=Consulta;
AdoQuery1.Open;

IF AdoQuery1.RecordCount > 0 THEN //Se encontraron coincidencias.
BEGIN
AdoQuery1.Last; //Nos movimos al ultimo registro...
Encontrados:=AdoQuery1.RecordCount;

AdoQuery1.First; //Nos movemos al primero...

WHILE NOT AdoQuery1.Eof DO
BEGIN
//Recorremos los regitros encontrados....
AdoQuery1.Next; //Nos Movemos al Siguiente registro...
END;

END;

FINALLY
AdoQuery1.Close; //Cerramos el AdoQuery1...
END;


espero que te sirva...:)

jermy 11-01-2007 23:23:51

increible muchachos, no espere encontrar tanta ayuda como la que uds me han brindado, muchisimas gracias de todo corazon por su generosa ayuda.
atte.
Jermy


La franja horaria es GMT +2. Ahora son las 09:56:48.

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