Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problema paso de Parametros (https://www.clubdelphi.com/foros/showthread.php?t=73017)

noejfh 25-03-2011 20:57:05

Problema paso de Parametros
 
Buenas Integrantes de este club, a como he visto en otros hilos saben bastante sobre delphi, yo apenas estoy iniciando.. Y les agradeceria mucho que me pudieran ayudar con un procedimiente que ya no se que mas intentar, llevo varios dias ya y nada... Lo que quiero hacer es pasar la informacion de una tabla temporal, y de un dbgrid a las tablas reales, es tipo punto venta, y esa es la parte de facturacion, la aplicacion carga los datos en el grid enlazado a la tabla temporal, y el otro con los rubros tambien hace los calculos... Uso Delphi XE, Firebird 2.5 y dbexpress. Lo estoy intentando hacer mediante parametros pero nada, los eventos de Startransaction, commit y otros aparecen "deprecated"; Espero me puedan ayudar, y ahi disculpa sino me explique bien, primer ves que posteo aca...

Caral 25-03-2011 21:12:51

Hola
Todo esto con tablas o querys (sql) ?.
Saludos

noejfh 25-03-2011 21:21:56

Cita:

Empezado por Caral (Mensaje 394694)
Hola
Todo esto con tablas o querys (sql) ?.
Saludos

Hola Caral!, Un gusto, Gracias por la pronta respuesta...
Con los 2... Las tablas de la base,y uso un componente de Jedi, el memory data como temporal que esta enlazado un dbgrid para ir guardando los datos, pero en el modulo, luego para acceder a la base uso 2 modulos, uno de Conexion donde esta el componente TSQLConecction y los Querys, y la otra con los provider y los Clientdataset.
Ahorita estoy tratando hacerlo directo a los querys, sin unar los Client data set, me han dicho que no es muy necesario..

Caral 25-03-2011 21:29:10

Hola
A ver si me explico.
Digamos que tenemos una tabla (temporal) esta contiene los datos que necesito.
Ahora quiero pasarlos a otra tabla (me imagino que coincidiran los campos).
Bien:
Lo que necesito es abrir la primera, con un ciclo wihle para que me la recorra o bien con un filtro o where para que filtre.
Despues necesito crear un sql en un query que me valla insertando estos segun se presenten en la nueva tabla.
El dbgrid simplemente muestra, no contiene nada.
Me gustaria ver con que codigo estas tratando de hacerlo.
Saludos

noejfh 25-03-2011 21:48:03

Pero es que la tabla temporal no ha llegado a la base... ,solo hace las consultas y muestra los datos, esos datos son los que debieran de ir en una tabla real, y en otra tabla real quiero pasar esos mismos datos pero ademas campos como la fecha, el id del vendedor, entre otros detalles...
Código Delphi [-]
begin 
  sql.Clear; 
  sql.Add('Insert into facturas_ventas(ID_FACTURA, NUMEROFAC, ID_VENDEDOR, ID_CAJA, ID_CLIENTE, ID_USUARIO, ID_TIPOVENTA, FECHA, FORMAPAGO, MONTOSUBTOTAL, DESCUENTO, MONTODESCUENTO, IMPUESTO, MONTOIMPUESTO, MONTOTOTAL, PAGACON, CAMBIO)'); 
  SQL.Add('Values( :ID_FACTURA, :NUMEROFAC, :ID_VENDEDOR, :ID_CAJA, :ID_CLIENTE, :ID_USUARIO, :ID_TIPOVENTA, :FECHA, :FORMAPAGO, :MONTOSUBTOTAL, ESCUENTO, :MONTODESCUENTO, :IMPUESTO, :MONTOIMPUESTO, :MONTOTOTAL, :PAGACON, :CAMBIO)');
  ParamByName('pID_FACTURA').Value:='null';
  ParamByName('pNUMEROFAC').Value:='2'; 
  ParamByName('pID_VENDEDOR').Value:=wno_factura;
  ParamByName('pID_CAJA').Value:=wno_factura;
  ParamByName('pID_CLIENTE').Value:=wcodigo_cliente_factura;
  ParamByName('pID_USUARIO').Value:='2';
  ParamByName('pID_TIPOVENTA').Value:='3';
  ParamByName('pFECHA').Value:=fecha;
  ParamByName('pFORMAPAGO').Value:='1';
  ParamByName('pMONTOSUBTOTAL').Value:=Frm_prefactura.SGTotal.Cells[1,0]; 
  ParamByName('pDESCUENTO').Value:=Frm_prefactura.jvvalidate_DescValida.Value; 
  ParamByName('pMONTODESCUENTO').Value:=Frm_prefactura.SGTotal.Cells[1,1]; 
  ParamByName('pIMPUESTO').Value:=Frm_prefactura.JvVImpuesto.Value; 
  ParamByName('pMONTOIMPUESTO').Value:=Frm_prefactura.SGTotal.Cells[1,2]; 
  ParamByName('pMONTOTOTAL').Value:=Frm_prefactura.SGTotal.Cells[1,3]; 
  ParamByName('pPAGACON').Value:=Frm_prefactura.wpaga_com; 
  ParamByName('pCAMBIO').Value:=Frm_prefactura.wcambio_regreso; dmconexion.qprefactura.ExecSQL; end;

En la parte de Values, antes de cada variable va despues de los dos punto una p, es que salia un carita..

Caral 25-03-2011 22:31:28

Hola
Pues no veo nada muy raro aparte de que el ID de fectura sea NULL y que uses cell, me da la impresion de que es strggrid ?.
No entiendo el problema en si.
Saludos

ElKurgan 26-03-2011 07:21:23

¿Que versión de Delphi estás usando? Porque en XE hay muchos métodos marcados como "obsoletos" que siguen funcionando, sólo que los han sustituido por otros mejorados.

Saludos

noejfh 26-03-2011 18:46:45

Gracias Caral, la verdad estoy un poco confundido con eso.. Como que me recomendarias hacer para poder hacer lo que quiero??, es que spy nuevo en esto, y buscando en San Google no he encontrado mucho...

noejfh 26-03-2011 18:49:07

Cita:

Empezado por ElKurgan (Mensaje 394738)
¿Que versión de Delphi estás usando? Porque en XE hay muchos métodos marcados como "obsoletos" que siguen funcionando, sólo que los han sustituido por otros mejorados.

Saludos

:eek: No sabia! Si en efecto uso la versionn XE Architect, pero si los utilizo a la hora de compilar me para en esa linea, donde lo utilizo...:confused:

ElKurgan 27-03-2011 11:56:14

Lo mejor es buscar en la ayuda... Ahí te dicen (por lo general) cual es el nuevo método a utilizar.

Nota: La verdad es que no he probado todavía el XE, pero creo recordar que los warnings sólo son avisos; aunque el compilador te marque la línea, el ejecutable seguirá funcionando. Pero igual han cambiado las cosas

Saludos

noejfh 27-03-2011 17:27:37

Cita:

Empezado por ElKurgan (Mensaje 394769)
Lo mejor es buscar en la ayuda... Ahí te dicen (por lo general) cual es el nuevo método a utilizar.

Nota: La verdad es que no he probado todavía el XE, pero creo recordar que los warnings sólo son avisos; aunque el compilador te marque la línea, el ejecutable seguirá funcionando. Pero igual han cambiado las cosas

Saludos

Muchas Gracias "ElKurgan"..., Ojala encuentre la manera de poder resolver ese problema... A seguir buscando...


La franja horaria es GMT +2. Ahora son las 09:39:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi