Cita:
Empezado por Lepe
Como ya te dije, usa un ZDataset, es lo que necesitas para editar, insertar, borrar y seleccionar de una tabla.
Mira en este hilo los mensajes 7 y 8
Saludos
|
Me he leido todos los mensajes.. y lo que aún no entiendo es que me mandas a usar un ZDataset pero sigo sin saber que es eso.. lo que se es que es un componente, pero te refieres al ZQuery ?? o el ZQUptadeSQL ??
Y me mandas a al mensaje 7, 8 donde claramente tu recomiendas unos componentes diferentes a los que suo, yo uso ZEOSlib + MYSQL y los que aconsejas con para Firebird
http://www.clubdelphi.com/foros/show...65&postcount=7
Esos componentes pueden que tengas uno llamado MDODataset pero aquí no tengo alguno que se parece pero es obvio puesto que uso los ZEOS, ahora mi pregunta es.. ese
ZDataset al que te refieres es el ZUpdateSQL que tienen las ZEOS ??? y en el aterior post te puse los componentes que tengo en esa paleta, pero te las pongo de nuevo por si no las viste.
ZConnection: TZConnection
ZReadOnlyQuery: ZDataSet
ZQuery: ZDataSet
ZTable : ZDataSet
ZUpdateSQL: ZsqlUpdate
ZStoredProc: ZstoredProcedure
ZSQLMetadata: ZSQLMetadata
ZSQLProcessor: ZSQLProcessor
ZSQLMonitor : ZSQLMonitor
ZSequence : ZSequence
Bueno yo ahora estoy usando ZQuery para insertar registros pero la verdad es que es un lio.. por que tengo que usar 2 para cada tabla
se que lo hago mal. pero así funciona, la cosa es a la hora de actualizar, no tengo la menos idea de como hacerlo con unos Edits, puesto que ya no uso los DBEdits, lo que estaba haciendo es hacer una busqueda del producto a editar luego llenar los campos Edits, pero tengo problemas al llenar unos DBLookComboBox
que son los que llenan sus Items leyendo de otra tabla, bueno creo que estoy muy perdido o es que me he confundido demasiado y quiero salir de esto
Este es el código que estoy usando para agregar las descripciones de los productos a la tabla PRODUCTOS y códigos, precios, y listaprecios a la tabla TARIFAS
Código Delphi
[-] if (ECodigoBarra.Text = '') then
begin
ShowMessage('Ingresa un valor para el Código de barra.');
end
else
begin
DM.ZQProductos.Close;
DM.ZQProductos.SQL.Clear;
DM.ZQProductos.SQL.Add('INSERT INTO productos (Descripcion, Categoria, SubCategoria, Unidad, Cantidad, Proveedor, ');
DM.ZQProductos.SQL.Add('UnidadPrecio, PrecioCompraBs, PrecioCompraSus, Costo, FechaActualizacion)');
DM.ZQProductos.SQL.Add('VALUES (es, :Cat, :SubCat, :Uni, :Cant, :Prov, :UniPre, :PCB, :PCS, :Cos, :FechAct)');
DM.ZQProductos.ParamByName('Des').AsString := MDescripcion.Text;
DM.ZQProductos.ParamByName('Cat').AsString := DBLCBCategoria.Text;
DM.ZQProductos.ParamByName('SubCat').AsString := DBLCBSubCategoria.Text;
DM.ZQProductos.ParamByName('Uni').AsString := DBLCBUnidad.Text;
DM.ZQProductos.ParamByName('Cant').AsString := ECantidad.Text;
DM.ZQProductos.ParamByName('Prov').AsString := DBLCBProveedor.Text;
DM.ZQProductos.ParamByName('UniPre').AsString := DBLCBUnidadPrecio.Text;
DM.ZQProductos.ParamByName('PCB').AsString := EPrecioCompraBs.Text;
DM.ZQProductos.ParamByName('PCS').AsString := EPrecioCompraSus.Text;
DM.ZQProductos.ParamByName('Cos').AsString := ECosto.Text;
DM.ZQProductos.ParamByName('FechAct').AsDateTime := DateTimePicker1.Date;
DM.ZQProductos.ExecSQL;
DM.ZTProductos.Refresh;
DM.ZTProductos.Last;
with DM.ZQTarifas do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO tarifas (Id_producto, CodigoBarra , CodProducto , TipoTarifa , Precio)');
SQL.Add('VALUES (:IDP, :CB, :CP, :TT1, :P1), ');
SQL.Add('(:IDP, :CB, :CP, :TT2, :P2), ');
SQL.Add('(:IDP, :CB, :CP, :TT3, :P3), ');
SQL.Add('(:IDP, :CB, :CP, :TT4, :P4), ');
SQL.Add('(:IDP, :CB, :CP, :TT5, :P5), ');
SQL.Add('(:IDP, :CB, :CP, :TT6, :P6)');
ParamByName('IDP').AsInteger := DM.ZTProductos.FieldByname('Id_producto').AsInteger;
ParamByName('CB').AsString := ECodigoBarra.Text;
ParamByName('CP').AsString := ECodProducto.Text;
ParamByName('TT1').AsString := 'Precio1';
ParamByName('TT2').AsString := 'Precio2';
ParamByName('TT3').AsString := 'Precio3';
ParamByName('TT4').AsString := 'Precio4';
ParamByName('TT5').AsString := 'Precio5';
ParamByName('TT6').AsString := 'Precio6';
ParamByName('P1').AsString := EPrecio1.Text;
ParamByName('P2').AsString := EPrecio2.Text;
ParamByName('P3').AsString := EPrecio3.Text;
ParamByName('P4').AsString := EPrecio4.Text;
ParamByName('P5').AsString := EPrecio5.Text;
ParamByName('P6').AsString := EPrecio6.Text;
ExecSQL;
end;
end;
end;
bueno por lo que verán es demasiado largo
y se que se puede hacerlo mas fácil pero no lo se,
saludos y espero me ayuden