Programación General > Visual Basic 6.0 e inferiores

 Valor ????

(1/1)

ciber_lep:
Saludos foreros

espero tengan el tiempo para ayudarme.

En un formulario ejecuto una sentencia SQL hacia un servidor Mysql. La sentecia es esta.

SELECT orden,if( isnull(fecI) or fecI='',if( isnull(fecEn) or fecEn='',now(),fecEn),fecI) as fecha1,recibio,fecEn,if(isnull(hora),'10:00:00',hora) as hora1,....
Lo demas del SQl

el asunto es que cuando ejecuto esta sentencia en el servidor me lo ejecuta de forma perfecta.

pero cuando lo hago desde la Aplicacion el recordset me devuelve un valor ?????

el cual no logro capturar ni con if ni con nada!!!.  He estado buscando en Google... y lo voy a seguir haciendo...
pero quize consultar con los expertos, de golpe les ha pagado algo asi.  Si pueden ayudarme de antemano Gracias....... :D

Nebire:

--- Cita de: "ciber_lep" ---Saludos foreros

espero tengan el tiempo para ayudarme.

En un formulario ejecuto una sentencia SQL hacia un servidor Mysql. La sentecia es esta.

SELECT orden,if( isnull(fecI) or fecI='',if( isnull(fecEn) or fecEn='',now(),fecEn),fecI) as fecha1,recibio,fecEn,if(isnull(hora),'10:00:00',hora) as hora1,....
Lo demas del SQl

el asunto es que cuando ejecuto esta sentencia en el servidor me lo ejecuta de forma perfecta.

pero cuando lo hago desde la Aplicacion el recordset me devuelve un valor ?????

el cual no logro capturar ni con if ni con nada!!!.  He estado buscando en Google... y lo voy a seguir haciendo...
pero quize consultar con los expertos, de golpe les ha pagado algo asi.  Si pueden ayudarme de antemano Gracias....... :D
--- Fin de la cita ---

Este tipo de problemas casi siempre suele ser un problema de comillas.... en el servidor al no requerir ciertas comillas va perfecto, pero al meterlo en código debe acotarse correctamente lo que debe interpretar como un literal... A mi a veces me ocurre cuando ejecuto un shellExecute basytante complejo donde una linea de comando llama a su vez a otro comando con su correspondiente línea de comando etc... te acabas liando por culpa de las comillas que no están donde debieran.... Naturalmente suponiendo que no tengas un problema de conexión, autenticación, etc..

ciber_lep:
Pues Gracias por contestar. tienes razon es todo un Lio voy a revisar las comillas como sugieres, Por lo pronto por la Urgencia de esto y no es una aplicacion muy grande, lo estoy haciendo en otro lenguaje mas bondadoso (Java).  pero en todo caso voy a investigar del porque el VB 6.0 hace esto.

curioso dato pues al debugear  solo me dice que vale ????? pero no hay dato que diga si esta indefinido o nada

pero si algun otro experto quiera aportar su experiencia le agradezco.

 :D

(Todos somos expertos pero solo que algunos mas que otros)

F_Tanori:
No puedes colocar el codigo en VB, y la sentencia SQL completa?


Saludos

ciber_lep:
Claro este es el codigo VB

--- Código: Text --- nombre_archivo = nombre_archivo & ".txt" query_sql = "SELECT orden,if( isnull(fecI) or fecI='0000-00-00' or fecI='',fecR,fecI) as fecha1,recibio,fecR,if(isnull(hora),'10:00:00',hora) as hora1,fecR FROM tabla1 WHERE fecR>='" & txt_fecha_1.Text & "' and fecR<='" & txt_fecha_2.Text & "' and recibio<>'' "         Set conexion = New ADODB.Connection                Set file = CreateObject("Scripting.fileSystemObject")        If Len(Dir1.Path) > 3 Then            Set archivo = file.openTextFile(Dir1.Path & "" & nombre_archivo, 8, True, 0)        Else            Set archivo = file.openTextFile(Dir1.Path & nombre_archivo, 8, True, 0)        End If                            conexion.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=myBase"                Set recordset = New ADODB.recordset                recordset.Open query_sql, conexion, adOpenDynamic, adLockOptimistic                Dim noorden As String, fecing As String, podnom As String, podfec As String, podhor As String, fecpod As String                        While recordset.EOF = False                                orden = recordset(0).Value                fecI = recordset(1).Value                                                If fecI = "????" Then  'Aki estaba haciendo Pruebas para Depurar el Error.                    MsgBox "NAda"                    End If 
Despues de esto sigue lo normal guardar y cerrar la conexion.

 :P

Navegación

[0] Índice de Mensajes

Ir a la versión completa