Ver Mensaje Individual
  #2  
Antiguo 23-08-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola
Cuando se inserta, se actualiza etc, no se abre la tabla o el query, se ejecuta la accion con ExecSQL.
No estoy seguro que en ZEos sea asi, pero casi podria estar seguro que de no serlo habra un equivalente:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
Var
  Codigo:String;
begin
  DataSourceBD.Enabled:= False;
  ZQueryBD.Close;
 //  ZQueryBD.SQL.Clear; no se necesita limpiar si se usa text, solo con add.
  ShowMessage('Insertamos');
  ZQueryBD.SQL.Text:= 'Insert Into RFac (Monto, Fecha, Hora) Values ('+Monto+', Date(NOW()), Time(NOW()))';
  ShowMessage('Escrito');
  ZQueryBD.ExecSQL;  // se ejecuta la accion
  ShowMessage('Insertado');
  ZQueryBD.Close;
 // ZQueryBD.SQL.Clear;
  ZQueryBD.SQL.Text:= 'Select Max(Codigo) as Codigo From RFac';
  ZQueryBD.Open;
  Codigo:= ZQuery1.FieldByName('Codigo').AsString;
  ZQueryBD.Close;
 // ZQueryBD.SQL.Clear;
  ZQueryBD.SQL.Text:= 'Create Table F'+Codigo+' (Articulo Char(48), Cantidad Integer, Precio Decimal)';
  ZQueryBD.Open;
  ZQueryBD.Close;
 // ZQueryBD.SQL.Clear;
  ZQueryBD.SQL.Text:= 'Insert Into F'+Codigo+' Values (Select * From Factura)';
  ZQueryBD.ExecSQL; // se ejecuta
  ZQueryBD.Close;
 // ZQueryBD.SQL.Clear;
  ZQueryBD.SQL.Text:= 'Insert Into F'+Codigo+' (Articulo, Monto) Values (Total:, '+Monto+')';
  ZQueryBD.ExecSQL;  // se ejecuta
  ZQueryBD.Close;
 // ZQueryBD.SQL.Clear;
  ZQueryBD.SQL.Text:= 'Delete From Factura';
end;
Por otro lado seria bueno que usaras parametros en la consulta.
Saludos
__________________
Siempre Novato
Responder Con Cita