[Lazarus-es] Uso de TSQLQuery y TDBGrid
Ismael L. Donis García
ismael en citricos.co.cu
Lun Mar 1 20:00:01 CET 2010
Muchas gracias, me has dado un pequeño empujón, ya que ahora si entra en
modo edición, pero no inserta nada aun en la tabla, se de hecho que tengo
que agregar código.
Ahora tengo 2 dudas más:
1.- Como le introduzco valores a una columna dada por código?
Por ejemplo algo como esto:
dbgum.Columns[1].Text:=dtm.strentidad;
Estoy tratando de hacer:
procedure Tfrmum.rsumBeforeInsert(DataSet: TDataSet);
begin
dbgum.Columns[1].Text:=dtm.strentidad;
rsum.Params.ParamByName('sEntidad').AsString:=dtm.strentidad;
rsum.Params.ParamByName('sUm').AsString:=dbgum.Columns[0].Text;
end;
2.- No se me está disparando en evento OnKeyPress del TDBGrid, será esto un
problema de Lazarus?. Como resolver tal problema?
procedure Tfrmum.dbgumKeyPress(Sender: TObject; var Key: char);
begin
if Key = #13 then
cmdcerrar.SetFocus;
end;
Eso es solo una prueba porque aun me falta una línea donde pregunte si la
primera columna está vacía, que más bien esa sería la tercer duda.
Saludos reiterados
=========
¦¦ ISMAEL ¦¦
=========
----- Original Message -----
From: "JoshyFun" <joshyfun en gmail.com>
To: "Spanish version of Lazarus List"
<lazarus-es en lists.lazarus.freepascal.org>
Sent: Monday, March 01, 2010 12:26 PM
Subject: Re: [Lazarus-es] Uso de TSQLQuery y TDBGrid
Hello Ismael,
Monday, March 1, 2010, 3:52:25 PM, you wrote:
ILDG> Se puede utilizar un TSQLQuery enlazado con un TDBGrid
ILDG> para la inserción y actualización de datos de forma directa
ILDG> sobre un TDBGrid?
ILDG> Llevo días atascado en esto y no he logrado salir alante,
ILDG> por lo que he podido detectar al poner un select sobre una tabla
ILDG> en la propiedad SQL del TSQLQuery me lo toma como solo lectura.
ILDG> Alguien me podrá dar una pequeña ayudita sobre el tema:
Los TSQLQuery rara vez son editables, ya que a menos que sean muy
simples tipo:
Select * from TTable
El resto directamente no hay modo de saber como actualizarlos,
ejemplo:
Select TTABLE1.ID,CAMPO from TTABLE1
Inner Join TTABLE2 on TTABLE1.ID=TTABLE2.ID
Para insertar un registro con ese query tendrías que editar ID y
CAMPO, pero eso no garantiza que TTABLE2.ID obtenga un valor válido ya
que no lo editamos. Probablemente este sea "autoinc" pero puede no
serlo o haber más campos que no salen en el select y que pueden
necesitar otro tipo de actuación.
Resumiendo, que para poder editar un select necesitamos rellenar los
SQL necesarios para UPDATE, INSERT y DELETE (los SQLUpdate, ...) para
que el SQLQuery sepa que hacer en cada caso.
--
Best regards,
JoshyFun
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
More information about the Lazarus-es
mailing list