Ver Mensaje Individual
  #26  
Antiguo 31-03-2007
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Reputación: 18
BlackDaemon Va por buen camino
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
    //Armamos el query (INSERT) para agregar los datos del producto.
    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)');
    //Asignamos los parámetros tomados de los edits.text
    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.ZQProductos.Open;
    //DM.ZQProductos.Refresh;
    //DM.ZQProductos.Last;
    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)');

    // Si, asignamos los parámetros xDD
    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;
    // Ejecutamos e insertamos todos los valores asignados
    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
Responder Con Cita