![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#2
|
|||
|
|||
|
Utilización de parámetros en Delphi
Hola:
Como REGLA GENERAL Query.Open se usa para realizar una sentencia SELECT y Query.ExecSQL se usa para sentecias INSERT, UPDATE, DELETE. El componente ListBox se usa para almacenar una serie de valores, Ej: ListBox.Clear; // Limpia los valores del componente ListBox.Add('Valor 1'); // Añade el primer valor al componente ListBox.Add('Valor 2'); // Añade el segundo valor al componente ListBox.Add('Valor 3'); // Añade el tercer valor al componente Edit.Text := ListBox.Items[0]; // Asigna 'Valor 1' a un Edit Edit.Text := ListBox.Items[1]; // Asigna 'Valor 2' a un Edit Edit.Text := ListBox.Items[2]; // Asigna 'Valor 3' a un Edit // Esta sentencia y las dos siguientes hacen lo mismo. Edit.Text := ListBox.Items[1]; // Asigna 'Valor 2' a un Edit ListBox.ItemIndex := 1; // El valor activo del ListBox es el segundo Edit.Text := ListBox.Items[ListBox.ItemIndex]; // Asigna 'Valor 2' a un Edit Para acceder a los parámetros de una sentencia SQL se puede hacer de dos formas, Ej: Q.Close; Q.SQL.Clear; Q.SQL.Add('SELECT * FROM MiTabla WHERE Campo1=:PARAMETRO1 AND Campo2=:PARAMETRO2'); // Caso 1, accedemos por número. Q.Param[0].Value := 'Valor 1'; // Accede a :PARAMETRO1 Q.Param[1].Value := 'Valor 2'; // Accede a :PARAMETRO2 // Caso 2, accedemos por nombre. Q.ParamByName('PARAMETRO1').Value := 'Valor 1'; // Accede a :PARAMETRO1 Q.ParamByName('PARAMETRO2').Value := 'Valor 2'; // Accede a :PARAMETRO2 Q.Open; Ahora repasamos el código que has enviado. // Carga ListBox1 con los valores de que devuelve Query2 Query2.Open; while not Query2.EOF do begin ListBox1.Items.Add (Query2.Fields [0].AsString); Query2.Next; end; // El componente ListBox1 tiene almacenados todos los valores posibles // del campo CUSTNO de la tabla ORDERS. Para que nos muestre el primero // asignamos el valor 0 a la propiedad ItemIndex. ListBox1.ItemIndex := 0; Query1.Prepare; // Para asignar un valor al parámetro de Query1 se puede hacer por el número // de parámetro Query1.Params[0].Value o por el nombre del parámetro // :CUSTNO que sería, Query1.ParamByName('CUSTNO').Value. Query1.Params[0].Value := ListBox1.Items[0]; Query1.Open; // En el evento OnClick del ListBox repite lo mismo que en el evento OnCreate // pero le pasa como parámetro el valor seleccionado en ese momento. Query1.Close; Query1.Params[0].Value := ListBox1.Items[Listbox1.ItemIndex]; Query1.Open; Un saludo. |
|
|
|