• Lunes 23 de Diciembre de 2024, 05:03

Autor Tema:  Valor ????  (Leído 1747 veces)

ciber_lep

  • Miembro MUY activo
  • ***
  • Mensajes: 301
    • Ver Perfil
Valor ????
« en: Viernes 19 de Septiembre de 2008, 00:40 »
0
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
Programación en
PHP,javaScript,HTML,Java,C++,.NET.
Base de Datos,Servidores Linux.

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Valor ????
« Respuesta #1 en: Viernes 19 de Septiembre de 2008, 02:11 »
0
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

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..
«Ma non troppo»
----> ModoVacaciones = False<----

ciber_lep

  • Miembro MUY activo
  • ***
  • Mensajes: 301
    • Ver Perfil
Re: Valor ????
« Respuesta #2 en: Viernes 19 de Septiembre de 2008, 05:21 »
0
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)
Programación en
PHP,javaScript,HTML,Java,C++,.NET.
Base de Datos,Servidores Linux.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Valor ????
« Respuesta #3 en: Viernes 19 de Septiembre de 2008, 06:37 »
0
No puedes colocar el codigo en VB, y la sentencia SQL completa?


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

ciber_lep

  • Miembro MUY activo
  • ***
  • Mensajes: 301
    • Ver Perfil
Re: Valor ????
« Respuesta #4 en: Viernes 19 de Septiembre de 2008, 16:40 »
0
Claro este es el codigo VB
Código: Text
  1.  
  2. nombre_archivo = nombre_archivo & ".txt"
  3.  
  4. 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<>'' "
  5.  
  6.         Set conexion = New ADODB.Connection
  7.        
  8.         Set file = CreateObject("Scripting.fileSystemObject")
  9.         If Len(Dir1.Path) > 3 Then
  10.             Set archivo = file.openTextFile(Dir1.Path & "" & nombre_archivo, 8, True, 0)
  11.         Else
  12.             Set archivo = file.openTextFile(Dir1.Path & nombre_archivo, 8, True, 0)
  13.         End If
  14.                    
  15.         conexion.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=myBase"
  16.        
  17.         Set recordset = New ADODB.recordset
  18.        
  19.         recordset.Open query_sql, conexion, adOpenDynamic, adLockOptimistic
  20.        
  21.         Dim noorden As String, fecing As String, podnom As String, podfec As String, podhor As String, fecpod As String
  22.        
  23.        
  24.         While recordset.EOF = False
  25.                
  26.                 orden = recordset(0).Value
  27.                 fecI = recordset(1).Value
  28.                                
  29.                 If fecI = "????" Then  'Aki estaba haciendo Pruebas para Depurar el Error.
  30.                     MsgBox "NAda"
  31.                     End If
  32.  

Despues de esto sigue lo normal guardar y cerrar la conexion.

 :P
Programación en
PHP,javaScript,HTML,Java,C++,.NET.
Base de Datos,Servidores Linux.