Hola tengo otro problema (espero que sea uno de los ultimos) tengo el
siguiente codigo y aqui te adjunto el mensaje de error.
if ::ValidaDatos(.T.) .and. Validar('Graba el pedido ?')
::TempPedidos:cSelect:='SELECT IDCLIENTE, PATENTE, COD_CLIENT, FECHA,
' + ;
'FECHA_ENT, NRO_DE_LIS, COD_VENDED, COD_TRANS,
ITEMS, ' + ;
'GRAVADO, IVA, TOTAL, ESTADO, NRO_PEDIDO_TGA,
PRESUP ' + ;
'FROM TempPedidos'
::TempPedidos:Open()
::TempPedidos:AddNew()
::TempPedidos:IdCliente :=::nIdCli
::TempPedidos:Patente :=::cPatente
::TempPedidos:Cod_Client :=::edCliente:Value
::TempPedidos:Fecha :=transf(dtos(::edFecha:Value),[email='@R]'@R[/email]
9999/99/99')
::TempPedidos:Fecha_Ent :=transf(dtos(::edFechaEnt:Value),[email='@R]'@R[/email]
9999/99/99')
::TempPedidos:Nro_de_lis :=::nCodLista
::TempPedidos:Cod_Vended :=::cCodVend
::TempPedidos:Cod_Trans :=::cCodTransp
::TempPedidos:Items :=::nItems
::TempPedidos:Gravado :=::nGravado
::TempPedidos:Iva :=::nIva
::TempPedidos:Total :=::nTotal
::TempPedidos:Estado :='PEND'
::TempPedidos:UpDate()
oSql:=::oBDIsi:NewDataSet('SELECT max(id) FROM TempPedidos')
oSql:Open()
nPedido:=oSql:FieldGet(1)
oSql:Close()
oSql:End()
::TempItemPed:cSelect:='SELECT IDPEDIDO, COD_ARTICU, CANTIDAD, PRECIO,
' + ;
'PRECIOSINIVA, TASAIVA, NRO_DE_LIS FROM
ItemTempPed '
::TempItemPed:Open() /// AQUI SE PRODUCE EL MENSAJE DE ERROR LINEA
128 ///
::Productos:gotop()
while !::Productos:Eof()
::TempItemPed:AddNew()
::TempItemPed:IdPedido := nPedido
::TempItemPed:Cod_Articu :=::Productos:Codigo
::TempItemPed:Cantidad :=::Productos:Cantidad
::TempItemPed:Precio :=::Productos:Unitario
::TempItemPed:TasaIva :=::Productos:TasaIVA
::TempItemPed:PrecioSinIva:=::Productos:PrecSIva
::TempItemPed:Nro_de_lis :=::nCodLista
::TempItemPed:UpDate()
::Productos:skip(1)
enddo
::TempPedidos:Close()
::TempItemPed:Close()
endif
Attached files Error.log (1.5 KB)Â
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Error al abrir un comando SQL
Error al abrir un comando SQL
christian,
Antes del error.log que muestras deberías haber recibido un mensaje del
propio driver ODBC indicando el error real que se está produciendo en la
instrucción SELECT ya que compruebo que no se puede ni siquiera abrir la
tabla temporal.
Un saludo,
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=44e06b80@news.xailer.com...]44e06b80@news.xailer.com...[/email]
> Hola tengo otro problema (espero que sea uno de los ultimos) tengo el
> siguiente codigo y aqui te adjunto el mensaje de error.
>
>
> if ::ValidaDatos(.T.) .and. Validar('Graba el pedido ?')
> ::TempPedidos:cSelect:='SELECT IDCLIENTE, PATENTE, COD_CLIENT, FECHA,
> ' + ;
> 'FECHA_ENT, NRO_DE_LIS, COD_VENDED, COD_TRANS,
> ITEMS, ' + ;
> 'GRAVADO, IVA, TOTAL, ESTADO, NRO_PEDIDO_TGA,
> PRESUP ' + ;
> 'FROM TempPedidos'
> ::TempPedidos:Open()
> ::TempPedidos:AddNew()
> ::TempPedidos:IdCliente :=::nIdCli
> ::TempPedidos:Patente :=::cPatente
> ::TempPedidos:Cod_Client :=::edCliente:Value
> ::TempPedidos:Fecha :=transf(dtos(::edFecha:Value),[email='@R]'@R[/email]
> 9999/99/99')
> ::TempPedidos:Fecha_Ent :=transf(dtos(::edFechaEnt:Value),[email='@R]'@R[/email]
> 9999/99/99')
> ::TempPedidos:Nro_de_lis :=::nCodLista
> ::TempPedidos:Cod_Vended :=::cCodVend
> ::TempPedidos:Cod_Trans :=::cCodTransp
> ::TempPedidos:Items :=::nItems
> ::TempPedidos:Gravado :=::nGravado
> ::TempPedidos:Iva :=::nIva
> ::TempPedidos:Total :=::nTotal
> ::TempPedidos:Estado :='PEND'
> ::TempPedidos:UpDate()
>
> oSql:=::oBDIsi:NewDataSet('SELECT max(id) FROM TempPedidos')
> oSql:Open()
> nPedido:=oSql:FieldGet(1)
> oSql:Close()
> oSql:End()
>
> ::TempItemPed:cSelect:='SELECT IDPEDIDO, COD_ARTICU, CANTIDAD,
> PRECIO, ' + ;
> 'PRECIOSINIVA, TASAIVA, NRO_DE_LIS FROM
> ItemTempPed '
> ::TempItemPed:Open() /// AQUI SE PRODUCE EL MENSAJE DE ERROR LINEA
> 128 ///
>
> ::Productos:gotop()
> while !::Productos:Eof()
> ::TempItemPed:AddNew()
> ::TempItemPed:IdPedido := nPedido
> ::TempItemPed:Cod_Articu :=::Productos:Codigo
> ::TempItemPed:Cantidad :=::Productos:Cantidad
> ::TempItemPed:Precio :=::Productos:Unitario
> ::TempItemPed:TasaIva :=::Productos:TasaIVA
> ::TempItemPed:PrecioSinIva:=::Productos:PrecSIva
> ::TempItemPed:Nro_de_lis :=::nCodLista
> ::TempItemPed:UpDate()
> ::Productos:skip(1)
> enddo
> ::TempPedidos:Close()
> ::TempItemPed:Close()
> endif
>
>
>
Antes del error.log que muestras deberías haber recibido un mensaje del
propio driver ODBC indicando el error real que se está produciendo en la
instrucción SELECT ya que compruebo que no se puede ni siquiera abrir la
tabla temporal.
Un saludo,
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=44e06b80@news.xailer.com...]44e06b80@news.xailer.com...[/email]
> Hola tengo otro problema (espero que sea uno de los ultimos) tengo el
> siguiente codigo y aqui te adjunto el mensaje de error.
>
>
> if ::ValidaDatos(.T.) .and. Validar('Graba el pedido ?')
> ::TempPedidos:cSelect:='SELECT IDCLIENTE, PATENTE, COD_CLIENT, FECHA,
> ' + ;
> 'FECHA_ENT, NRO_DE_LIS, COD_VENDED, COD_TRANS,
> ITEMS, ' + ;
> 'GRAVADO, IVA, TOTAL, ESTADO, NRO_PEDIDO_TGA,
> PRESUP ' + ;
> 'FROM TempPedidos'
> ::TempPedidos:Open()
> ::TempPedidos:AddNew()
> ::TempPedidos:IdCliente :=::nIdCli
> ::TempPedidos:Patente :=::cPatente
> ::TempPedidos:Cod_Client :=::edCliente:Value
> ::TempPedidos:Fecha :=transf(dtos(::edFecha:Value),[email='@R]'@R[/email]
> 9999/99/99')
> ::TempPedidos:Fecha_Ent :=transf(dtos(::edFechaEnt:Value),[email='@R]'@R[/email]
> 9999/99/99')
> ::TempPedidos:Nro_de_lis :=::nCodLista
> ::TempPedidos:Cod_Vended :=::cCodVend
> ::TempPedidos:Cod_Trans :=::cCodTransp
> ::TempPedidos:Items :=::nItems
> ::TempPedidos:Gravado :=::nGravado
> ::TempPedidos:Iva :=::nIva
> ::TempPedidos:Total :=::nTotal
> ::TempPedidos:Estado :='PEND'
> ::TempPedidos:UpDate()
>
> oSql:=::oBDIsi:NewDataSet('SELECT max(id) FROM TempPedidos')
> oSql:Open()
> nPedido:=oSql:FieldGet(1)
> oSql:Close()
> oSql:End()
>
> ::TempItemPed:cSelect:='SELECT IDPEDIDO, COD_ARTICU, CANTIDAD,
> PRECIO, ' + ;
> 'PRECIOSINIVA, TASAIVA, NRO_DE_LIS FROM
> ItemTempPed '
> ::TempItemPed:Open() /// AQUI SE PRODUCE EL MENSAJE DE ERROR LINEA
> 128 ///
>
> ::Productos:gotop()
> while !::Productos:Eof()
> ::TempItemPed:AddNew()
> ::TempItemPed:IdPedido := nPedido
> ::TempItemPed:Cod_Articu :=::Productos:Codigo
> ::TempItemPed:Cantidad :=::Productos:Cantidad
> ::TempItemPed:Precio :=::Productos:Unitario
> ::TempItemPed:TasaIva :=::Productos:TasaIVA
> ::TempItemPed:PrecioSinIva:=::Productos:PrecSIva
> ::TempItemPed:Nro_de_lis :=::nCodLista
> ::TempItemPed:UpDate()
> ::Productos:skip(1)
> enddo
> ::TempPedidos:Close()
> ::TempItemPed:Close()
> endif
>
>
>
Error al abrir un comando SQL
Lo raro es que no recibo ningun mensaje de error, lo que si lo pruebo desde
el IDE al 'SELECT max(id) FROM TempPedidos' y me da el mismo mensaje de
error y si al DataSet le cambio el select ya me comienza a dar mensajes de
error del driver ODBC que esta ocupado etc.
Por ahora lo solucione escribiendo la siguiente consulta : select id, fecha
from TempPedidos order by id desc
Lo que no se es como hacer para que me retorne una sola fila el comando SQL
?.
"Ignacio Ortiz de Zúñiga" <_support_@xailer.com> escribió en el mensaje
news:[email=44e0a9de@news.xailer.com...]44e0a9de@news.xailer.com...[/email]
> christian,
>
> Antes del error.log que muestras deberías haber recibido un mensaje del
> propio driver ODBC indicando el error real que se está produciendo en la
> instrucción SELECT ya que compruebo que no se puede ni siquiera abrir la
> tabla temporal.
>
> Un saludo,
>
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=44e06b80@news.xailer.com...]44e06b80@news.xailer.com...[/email]
>> Hola tengo otro problema (espero que sea uno de los ultimos) tengo el
>> siguiente codigo y aqui te adjunto el mensaje de error.
>>
>>
>> if ::ValidaDatos(.T.) .and. Validar('Graba el pedido ?')
>> ::TempPedidos:cSelect:='SELECT IDCLIENTE, PATENTE, COD_CLIENT,
>> FECHA, ' + ;
>> 'FECHA_ENT, NRO_DE_LIS, COD_VENDED,
>> COD_TRANS, ITEMS, ' + ;
>> 'GRAVADO, IVA, TOTAL, ESTADO, NRO_PEDIDO_TGA,
>> PRESUP ' + ;
>> 'FROM TempPedidos'
>> ::TempPedidos:Open()
>> ::TempPedidos:AddNew()
>> ::TempPedidos:IdCliente :=::nIdCli
>> ::TempPedidos:Patente :=::cPatente
>> ::TempPedidos:Cod_Client :=::edCliente:Value
>> ::TempPedidos:Fecha :=transf(dtos(::edFecha:Value),[email='@R]'@R[/email]
>> 9999/99/99')
>> ::TempPedidos:Fecha_Ent :=transf(dtos(::edFechaEnt:Value),[email='@R]'@R[/email]
>> 9999/99/99')
>> ::TempPedidos:Nro_de_lis :=::nCodLista
>> ::TempPedidos:Cod_Vended :=::cCodVend
>> ::TempPedidos:Cod_Trans :=::cCodTransp
>> ::TempPedidos:Items :=::nItems
>> ::TempPedidos:Gravado :=::nGravado
>> ::TempPedidos:Iva :=::nIva
>> ::TempPedidos:Total :=::nTotal
>> ::TempPedidos:Estado :='PEND'
>> ::TempPedidos:UpDate()
>>
>> oSql:=::oBDIsi:NewDataSet('SELECT max(id) FROM TempPedidos')
>> oSql:Open()
>> nPedido:=oSql:FieldGet(1)
>> oSql:Close()
>> oSql:End()
>>
>> ::TempItemPed:cSelect:='SELECT IDPEDIDO, COD_ARTICU, CANTIDAD,
>> PRECIO, ' + ;
>> 'PRECIOSINIVA, TASAIVA, NRO_DE_LIS FROM
>> ItemTempPed '
>> ::TempItemPed:Open() /// AQUI SE PRODUCE EL MENSAJE DE ERROR
>> LINEA 128 ///
>>
>> ::Productos:gotop()
>> while !::Productos:Eof()
>> ::TempItemPed:AddNew()
>> ::TempItemPed:IdPedido := nPedido
>> ::TempItemPed:Cod_Articu :=::Productos:Codigo
>> ::TempItemPed:Cantidad :=::Productos:Cantidad
>> ::TempItemPed:Precio :=::Productos:Unitario
>> ::TempItemPed:TasaIva :=::Productos:TasaIVA
>> ::TempItemPed:PrecioSinIva:=::Productos:PrecSIva
>> ::TempItemPed:Nro_de_lis :=::nCodLista
>> ::TempItemPed:UpDate()
>> ::Productos:skip(1)
>> enddo
>> ::TempPedidos:Close()
>> ::TempItemPed:Close()
>> endif
>>
>>
>>
>
>
el IDE al 'SELECT max(id) FROM TempPedidos' y me da el mismo mensaje de
error y si al DataSet le cambio el select ya me comienza a dar mensajes de
error del driver ODBC que esta ocupado etc.
Por ahora lo solucione escribiendo la siguiente consulta : select id, fecha
from TempPedidos order by id desc
Lo que no se es como hacer para que me retorne una sola fila el comando SQL
?.
"Ignacio Ortiz de Zúñiga" <_support_@xailer.com> escribió en el mensaje
news:[email=44e0a9de@news.xailer.com...]44e0a9de@news.xailer.com...[/email]
> christian,
>
> Antes del error.log que muestras deberías haber recibido un mensaje del
> propio driver ODBC indicando el error real que se está produciendo en la
> instrucción SELECT ya que compruebo que no se puede ni siquiera abrir la
> tabla temporal.
>
> Un saludo,
>
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=44e06b80@news.xailer.com...]44e06b80@news.xailer.com...[/email]
>> Hola tengo otro problema (espero que sea uno de los ultimos) tengo el
>> siguiente codigo y aqui te adjunto el mensaje de error.
>>
>>
>> if ::ValidaDatos(.T.) .and. Validar('Graba el pedido ?')
>> ::TempPedidos:cSelect:='SELECT IDCLIENTE, PATENTE, COD_CLIENT,
>> FECHA, ' + ;
>> 'FECHA_ENT, NRO_DE_LIS, COD_VENDED,
>> COD_TRANS, ITEMS, ' + ;
>> 'GRAVADO, IVA, TOTAL, ESTADO, NRO_PEDIDO_TGA,
>> PRESUP ' + ;
>> 'FROM TempPedidos'
>> ::TempPedidos:Open()
>> ::TempPedidos:AddNew()
>> ::TempPedidos:IdCliente :=::nIdCli
>> ::TempPedidos:Patente :=::cPatente
>> ::TempPedidos:Cod_Client :=::edCliente:Value
>> ::TempPedidos:Fecha :=transf(dtos(::edFecha:Value),[email='@R]'@R[/email]
>> 9999/99/99')
>> ::TempPedidos:Fecha_Ent :=transf(dtos(::edFechaEnt:Value),[email='@R]'@R[/email]
>> 9999/99/99')
>> ::TempPedidos:Nro_de_lis :=::nCodLista
>> ::TempPedidos:Cod_Vended :=::cCodVend
>> ::TempPedidos:Cod_Trans :=::cCodTransp
>> ::TempPedidos:Items :=::nItems
>> ::TempPedidos:Gravado :=::nGravado
>> ::TempPedidos:Iva :=::nIva
>> ::TempPedidos:Total :=::nTotal
>> ::TempPedidos:Estado :='PEND'
>> ::TempPedidos:UpDate()
>>
>> oSql:=::oBDIsi:NewDataSet('SELECT max(id) FROM TempPedidos')
>> oSql:Open()
>> nPedido:=oSql:FieldGet(1)
>> oSql:Close()
>> oSql:End()
>>
>> ::TempItemPed:cSelect:='SELECT IDPEDIDO, COD_ARTICU, CANTIDAD,
>> PRECIO, ' + ;
>> 'PRECIOSINIVA, TASAIVA, NRO_DE_LIS FROM
>> ItemTempPed '
>> ::TempItemPed:Open() /// AQUI SE PRODUCE EL MENSAJE DE ERROR
>> LINEA 128 ///
>>
>> ::Productos:gotop()
>> while !::Productos:Eof()
>> ::TempItemPed:AddNew()
>> ::TempItemPed:IdPedido := nPedido
>> ::TempItemPed:Cod_Articu :=::Productos:Codigo
>> ::TempItemPed:Cantidad :=::Productos:Cantidad
>> ::TempItemPed:Precio :=::Productos:Unitario
>> ::TempItemPed:TasaIva :=::Productos:TasaIVA
>> ::TempItemPed:PrecioSinIva:=::Productos:PrecSIva
>> ::TempItemPed:Nro_de_lis :=::nCodLista
>> ::TempItemPed:UpDate()
>> ::Productos:skip(1)
>> enddo
>> ::TempPedidos:Close()
>> ::TempItemPed:Close()
>> endif
>>
>>
>>
>
>
Error al abrir un comando SQL
Christian escribió:
> Lo raro es que no recibo ningun mensaje de error, lo que si lo pruebo desde
> el IDE al 'SELECT max(id) FROM TempPedidos' y me da el mismo mensaje de
> error y si al DataSet le cambio el select ya me comienza a dar mensajes de
> error del driver ODBC que esta ocupado etc.
>
> Por ahora lo solucione escribiendo la siguiente consulta : select id, fecha
> from TempPedidos order by id desc
> Lo que no se es como hacer para que me retorne una sola fila el comando SQL
> ?.
>
Depende del Servidor SQL que estes usando:
MySQL y Postgre SQL: SELECT * FROM tabla LIMIT 1
MS SQL Server: SELECT TOP 1 FROM tabja
Oracle: SELECT * FROM tabla WHERE RowNum <= 1
Informix: SELECT FIRST 1 FROM tabla
DB2: SELECT * FROM table FETCH FIRST 1 ROWS ONLY
Estas y otras diferencias hace que se complique la cosa cuando queremos
hacer programas basados en bases de datos SQL portables de una a otra.
Saludos,
Jose A. Suarez
> Lo raro es que no recibo ningun mensaje de error, lo que si lo pruebo desde
> el IDE al 'SELECT max(id) FROM TempPedidos' y me da el mismo mensaje de
> error y si al DataSet le cambio el select ya me comienza a dar mensajes de
> error del driver ODBC que esta ocupado etc.
>
> Por ahora lo solucione escribiendo la siguiente consulta : select id, fecha
> from TempPedidos order by id desc
> Lo que no se es como hacer para que me retorne una sola fila el comando SQL
> ?.
>
Depende del Servidor SQL que estes usando:
MySQL y Postgre SQL: SELECT * FROM tabla LIMIT 1
MS SQL Server: SELECT TOP 1 FROM tabja
Oracle: SELECT * FROM tabla WHERE RowNum <= 1
Informix: SELECT FIRST 1 FROM tabla
DB2: SELECT * FROM table FETCH FIRST 1 ROWS ONLY
Estas y otras diferencias hace que se complique la cosa cuando queremos
hacer programas basados en bases de datos SQL portables de una a otra.
Saludos,
Jose A. Suarez
Error al abrir un comando SQL
Anduvo peeeeefecto (era MS SQL)
"José Alfonso Suárez Moreno" <jasm@tpvsoft.com> escribió en el mensaje
news:44e2441a$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Christian escribió:
>> Lo raro es que no recibo ningun mensaje de error, lo que si lo pruebo
>> desde el IDE al 'SELECT max(id) FROM TempPedidos' y me da el mismo
>> mensaje de error y si al DataSet le cambio el select ya me comienza a dar
>> mensajes de error del driver ODBC que esta ocupado etc.
>>
>> Por ahora lo solucione escribiendo la siguiente consulta : select id,
>> fecha from TempPedidos order by id desc
>> Lo que no se es como hacer para que me retorne una sola fila el comando
>> SQL ?.
>>
> Depende del Servidor SQL que estes usando:
>
> MySQL y Postgre SQL: SELECT * FROM tabla LIMIT 1
> MS SQL Server: SELECT TOP 1 FROM tabja
> Oracle: SELECT * FROM tabla WHERE RowNum <= 1
> Informix: SELECT FIRST 1 FROM tabla
> DB2: SELECT * FROM table FETCH FIRST 1 ROWS ONLY
>
> Estas y otras diferencias hace que se complique la cosa cuando queremos
> hacer programas basados en bases de datos SQL portables de una a otra.
>
> Saludos,
>
> Jose A. Suarez
"José Alfonso Suárez Moreno" <jasm@tpvsoft.com> escribió en el mensaje
news:44e2441a$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Christian escribió:
>> Lo raro es que no recibo ningun mensaje de error, lo que si lo pruebo
>> desde el IDE al 'SELECT max(id) FROM TempPedidos' y me da el mismo
>> mensaje de error y si al DataSet le cambio el select ya me comienza a dar
>> mensajes de error del driver ODBC que esta ocupado etc.
>>
>> Por ahora lo solucione escribiendo la siguiente consulta : select id,
>> fecha from TempPedidos order by id desc
>> Lo que no se es como hacer para que me retorne una sola fila el comando
>> SQL ?.
>>
> Depende del Servidor SQL que estes usando:
>
> MySQL y Postgre SQL: SELECT * FROM tabla LIMIT 1
> MS SQL Server: SELECT TOP 1 FROM tabja
> Oracle: SELECT * FROM tabla WHERE RowNum <= 1
> Informix: SELECT FIRST 1 FROM tabla
> DB2: SELECT * FROM table FETCH FIRST 1 ROWS ONLY
>
> Estas y otras diferencias hace que se complique la cosa cuando queremos
> hacer programas basados en bases de datos SQL portables de una a otra.
>
> Saludos,
>
> Jose A. Suarez
Error al abrir un comando SQL
Christian,
Consulta en la documentación el méodo QueryRow que te devuelve en una matriz
sólo la primera fila de la consulta.
Un saludo,
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=44e1e2af@news.xailer.com...]44e1e2af@news.xailer.com...[/email]
> Lo raro es que no recibo ningun mensaje de error, lo que si lo pruebo
> desde el IDE al 'SELECT max(id) FROM TempPedidos' y me da el mismo mensaje
> de error y si al DataSet le cambio el select ya me comienza a dar mensajes
> de error del driver ODBC que esta ocupado etc.
>
> Por ahora lo solucione escribiendo la siguiente consulta : select id,
> fecha from TempPedidos order by id desc
> Lo que no se es como hacer para que me retorne una sola fila el comando
> SQL ?.
>
>
> "Ignacio Ortiz de Zúñiga" <_support_@xailer.com> escribió en el mensaje
> news:[email=44e0a9de@news.xailer.com...]44e0a9de@news.xailer.com...[/email]
>> christian,
>>
>> Antes del error.log que muestras deberías haber recibido un mensaje del
>> propio driver ODBC indicando el error real que se está produciendo en la
>> instrucción SELECT ya que compruebo que no se puede ni siquiera abrir la
>> tabla temporal.
>>
>> Un saludo,
>>
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=44e06b80@news.xailer.com...]44e06b80@news.xailer.com...[/email]
>>> Hola tengo otro problema (espero que sea uno de los ultimos) tengo el
>>> siguiente codigo y aqui te adjunto el mensaje de error.
>>>
>>>
>>> if ::ValidaDatos(.T.) .and. Validar('Graba el pedido ?')
>>> ::TempPedidos:cSelect:='SELECT IDCLIENTE, PATENTE, COD_CLIENT,
>>> FECHA, ' + ;
>>> 'FECHA_ENT, NRO_DE_LIS, COD_VENDED,
>>> COD_TRANS, ITEMS, ' + ;
>>> 'GRAVADO, IVA, TOTAL, ESTADO,
>>> NRO_PEDIDO_TGA, PRESUP ' + ;
>>> 'FROM TempPedidos'
>>> ::TempPedidos:Open()
>>> ::TempPedidos:AddNew()
>>> ::TempPedidos:IdCliente :=::nIdCli
>>> ::TempPedidos:Patente :=::cPatente
>>> ::TempPedidos:Cod_Client :=::edCliente:Value
>>> ::TempPedidos:Fecha :=transf(dtos(::edFecha:Value),[email='@R]'@R[/email]
>>> 9999/99/99')
>>> ::TempPedidos:Fecha_Ent :=transf(dtos(::edFechaEnt:Value),[email='@R]'@R[/email]
>>> 9999/99/99')
>>> ::TempPedidos:Nro_de_lis :=::nCodLista
>>> ::TempPedidos:Cod_Vended :=::cCodVend
>>> ::TempPedidos:Cod_Trans :=::cCodTransp
>>> ::TempPedidos:Items :=::nItems
>>> ::TempPedidos:Gravado :=::nGravado
>>> ::TempPedidos:Iva :=::nIva
>>> ::TempPedidos:Total :=::nTotal
>>> ::TempPedidos:Estado :='PEND'
>>> ::TempPedidos:UpDate()
>>>
>>> oSql:=::oBDIsi:NewDataSet('SELECT max(id) FROM TempPedidos')
>>> oSql:Open()
>>> nPedido:=oSql:FieldGet(1)
>>> oSql:Close()
>>> oSql:End()
>>>
>>> ::TempItemPed:cSelect:='SELECT IDPEDIDO, COD_ARTICU, CANTIDAD,
>>> PRECIO, ' + ;
>>> 'PRECIOSINIVA, TASAIVA, NRO_DE_LIS FROM
>>> ItemTempPed '
>>> ::TempItemPed:Open() /// AQUI SE PRODUCE EL MENSAJE DE ERROR
>>> LINEA 128 ///
>>>
>>> ::Productos:gotop()
>>> while !::Productos:Eof()
>>> ::TempItemPed:AddNew()
>>> ::TempItemPed:IdPedido := nPedido
>>> ::TempItemPed:Cod_Articu :=::Productos:Codigo
>>> ::TempItemPed:Cantidad :=::Productos:Cantidad
>>> ::TempItemPed:Precio :=::Productos:Unitario
>>> ::TempItemPed:TasaIva :=::Productos:TasaIVA
>>> ::TempItemPed:PrecioSinIva:=::Productos:PrecSIva
>>> ::TempItemPed:Nro_de_lis :=::nCodLista
>>> ::TempItemPed:UpDate()
>>> ::Productos:skip(1)
>>> enddo
>>> ::TempPedidos:Close()
>>> ::TempItemPed:Close()
>>> endif
>>>
>>>
>>>
>>
>>
>
>
Consulta en la documentación el méodo QueryRow que te devuelve en una matriz
sólo la primera fila de la consulta.
Un saludo,
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=44e1e2af@news.xailer.com...]44e1e2af@news.xailer.com...[/email]
> Lo raro es que no recibo ningun mensaje de error, lo que si lo pruebo
> desde el IDE al 'SELECT max(id) FROM TempPedidos' y me da el mismo mensaje
> de error y si al DataSet le cambio el select ya me comienza a dar mensajes
> de error del driver ODBC que esta ocupado etc.
>
> Por ahora lo solucione escribiendo la siguiente consulta : select id,
> fecha from TempPedidos order by id desc
> Lo que no se es como hacer para que me retorne una sola fila el comando
> SQL ?.
>
>
> "Ignacio Ortiz de Zúñiga" <_support_@xailer.com> escribió en el mensaje
> news:[email=44e0a9de@news.xailer.com...]44e0a9de@news.xailer.com...[/email]
>> christian,
>>
>> Antes del error.log que muestras deberías haber recibido un mensaje del
>> propio driver ODBC indicando el error real que se está produciendo en la
>> instrucción SELECT ya que compruebo que no se puede ni siquiera abrir la
>> tabla temporal.
>>
>> Un saludo,
>>
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=44e06b80@news.xailer.com...]44e06b80@news.xailer.com...[/email]
>>> Hola tengo otro problema (espero que sea uno de los ultimos) tengo el
>>> siguiente codigo y aqui te adjunto el mensaje de error.
>>>
>>>
>>> if ::ValidaDatos(.T.) .and. Validar('Graba el pedido ?')
>>> ::TempPedidos:cSelect:='SELECT IDCLIENTE, PATENTE, COD_CLIENT,
>>> FECHA, ' + ;
>>> 'FECHA_ENT, NRO_DE_LIS, COD_VENDED,
>>> COD_TRANS, ITEMS, ' + ;
>>> 'GRAVADO, IVA, TOTAL, ESTADO,
>>> NRO_PEDIDO_TGA, PRESUP ' + ;
>>> 'FROM TempPedidos'
>>> ::TempPedidos:Open()
>>> ::TempPedidos:AddNew()
>>> ::TempPedidos:IdCliente :=::nIdCli
>>> ::TempPedidos:Patente :=::cPatente
>>> ::TempPedidos:Cod_Client :=::edCliente:Value
>>> ::TempPedidos:Fecha :=transf(dtos(::edFecha:Value),[email='@R]'@R[/email]
>>> 9999/99/99')
>>> ::TempPedidos:Fecha_Ent :=transf(dtos(::edFechaEnt:Value),[email='@R]'@R[/email]
>>> 9999/99/99')
>>> ::TempPedidos:Nro_de_lis :=::nCodLista
>>> ::TempPedidos:Cod_Vended :=::cCodVend
>>> ::TempPedidos:Cod_Trans :=::cCodTransp
>>> ::TempPedidos:Items :=::nItems
>>> ::TempPedidos:Gravado :=::nGravado
>>> ::TempPedidos:Iva :=::nIva
>>> ::TempPedidos:Total :=::nTotal
>>> ::TempPedidos:Estado :='PEND'
>>> ::TempPedidos:UpDate()
>>>
>>> oSql:=::oBDIsi:NewDataSet('SELECT max(id) FROM TempPedidos')
>>> oSql:Open()
>>> nPedido:=oSql:FieldGet(1)
>>> oSql:Close()
>>> oSql:End()
>>>
>>> ::TempItemPed:cSelect:='SELECT IDPEDIDO, COD_ARTICU, CANTIDAD,
>>> PRECIO, ' + ;
>>> 'PRECIOSINIVA, TASAIVA, NRO_DE_LIS FROM
>>> ItemTempPed '
>>> ::TempItemPed:Open() /// AQUI SE PRODUCE EL MENSAJE DE ERROR
>>> LINEA 128 ///
>>>
>>> ::Productos:gotop()
>>> while !::Productos:Eof()
>>> ::TempItemPed:AddNew()
>>> ::TempItemPed:IdPedido := nPedido
>>> ::TempItemPed:Cod_Articu :=::Productos:Codigo
>>> ::TempItemPed:Cantidad :=::Productos:Cantidad
>>> ::TempItemPed:Precio :=::Productos:Unitario
>>> ::TempItemPed:TasaIva :=::Productos:TasaIVA
>>> ::TempItemPed:PrecioSinIva:=::Productos:PrecSIva
>>> ::TempItemPed:Nro_de_lis :=::nCodLista
>>> ::TempItemPed:UpDate()
>>> ::Productos:skip(1)
>>> enddo
>>> ::TempPedidos:Close()
>>> ::TempItemPed:Close()
>>> endif
>>>
>>>
>>>
>>
>>
>
>