none
Sin Logica - Response.Write Funciona por Orden RRS feed

  • Pregunta

  • Hola,

    No comprendo que pasa pero es un grave problema para mi.
     La consulta de abajo funciona y me lista todas las Response.write

    Lo increible y que no consigo solucionar es que si en vez de esto:
     Response.write "<br>customeraccountingpaymentterm " & Rs("customeraccountingpaymentterm") 
     Response.write "<br>customeraccountingcredit " & Rs("customeraccountingcredit")
     Escribo esto (SIMPLEMENTE CAMBIO EL ORDEN), No funciona. El campo customeraccountingpaymentterm (Response.Write no me da ningun resultado).
     Response.write "<br>customeraccountingcredit " & Rs("customeraccountingcredit")
     Response.write "<br>customeraccountingpaymentterm " & Rs("customeraccountingpaymentterm") 

    No es question del * porque ya he probado escribiendo los campos y sucede lo mismo.
     Me he dado cuenta que puede ser por el orden de los campos en la base de datos

     Set Rs = Server.CreateObject("ADODB.RecordSet")
     sSQLRs = "SELECT * FROM tbcustomers WHERE customercodecode = 'ESC79' "
     Rs.Open sSQLRs,ConData

    Response.write "<br>customeraccountingpaymentterm " & Rs("customeraccountingpaymentterm") 
     Response.write "<br>customeraccountingcredit " & Rs("customeraccountingcredit")

    Response.write "<br>customercodecode " &  Rs("customercodecode")
     Response.write "<br>customerrepres " &  Rs("customerrepres")
     Response.write "<br>customerlenguage " &  Rs("customerlenguage")
     Response.write "<br>customernamei " &  Rs("customernamei")
     Response.write "<br>customernametwoi " &  Rs("customernametwoi")
     Response.write "<br>customersearch " &  Rs("customersearch")
     Response.write "<br>customeraddressi " &  Rs("customeraddressi")
     Response.write "<br>customercityi " &  Rs("customercityi")
     Response.write "<br>customerprovincei " &  Rs("customerprovincei")
     Response.write "<br>customerzipi " &  Rs("customerzipi")
     Response.write "<br>customercountryi " &  Rs("customercountryi")
     rs.Close
     Set rs = Nothing

    viernes, 17 de junio de 2016 21:21

Respuestas

  • Muchas gracias por tu respuesta. Efectivamente como tú dices funciona pero para mí es una locura hora volverá diseñar todas las páginas. De todas formas encontré la solución así que lo voy a explicar por si alguien más tiene este problema : El problema esta cuando has migrado de access a sql server. Y se produce por los campos que en access eran MEMO. Lo que hay que hacer es buscar el campo que esté dando problemas y cambiar en SQL server El tipo formato de columna Que por cierto no sé cuál es la que corresponde al equivalente de Memo en Access así que si alguien me lo puede decir se lo agradeceré
    • Marcado como respuesta jorge1.6.4.4 sábado, 18 de junio de 2016 8:16
    sábado, 18 de junio de 2016 8:16

Todas las respuestas


  • Hola,

    No comprendo que pasa pero es un grave problema para mi.
    La consulta de abajo funciona y me lista todas las Response.write

    Lo increible y que no consigo solucionar es que si en vez de esto:
    Response.write "<br>customeraccountingpaymentterm " & Rs("customeraccountingpaymentterm")  
    Response.write "<br>customeraccountingcredit " & Rs("customeraccountingcredit")
    Escribo esto (SIMPLEMENTE CAMBIO EL ORDEN), No funciona. El campo customeraccountingpaymentterm (Response.Write no me da ningun resultado).
    Response.write "<br>customeraccountingcredit " & Rs("customeraccountingcredit")
    Response.write "<br>customeraccountingpaymentterm " & Rs("customeraccountingpaymentterm")  

    No es question del * porque ya he probado escribiendo los campos y sucede lo mismo.
    Me he dado cuenta que puede ser por el orden de los campos en la base de datos


    Set Rs = Server.CreateObject("ADODB.RecordSet")
    sSQLRs = "SELECT * FROM tbcustomers WHERE customercodecode = 'ESC79' "
    Rs.Open sSQLRs,ConData

    Response.write "<br>customeraccountingpaymentterm " & Rs("customeraccountingpaymentterm")  
    Response.write "<br>customeraccountingcredit " & Rs("customeraccountingcredit")

    Response.write "<br>customercodecode " &  Rs("customercodecode")
    Response.write "<br>customerrepres " &  Rs("customerrepres")
    Response.write "<br>customerlenguage " &  Rs("customerlenguage")
    Response.write "<br>customernamei " &  Rs("customernamei")
    Response.write "<br>customernametwoi " &  Rs("customernametwoi")
    Response.write "<br>customersearch " &  Rs("customersearch")
    Response.write "<br>customeraddressi " &  Rs("customeraddressi")
    Response.write "<br>customercityi " &  Rs("customercityi")
    Response.write "<br>customerprovincei " &  Rs("customerprovincei")
    Response.write "<br>customerzipi " &  Rs("customerzipi")
    Response.write "<br>customercountryi " &  Rs("customercountryi")
    rs.Close
    Set rs = Nothing

    • Combinado José De Alva lunes, 20 de junio de 2016 17:10 duplicada
    viernes, 17 de junio de 2016 21:19
  • Sí me suena haber tenido problemas similares hace años cuando trabajaba con ASP y VB6.

    Prueba poniendo los campos en la SELECT en el mismo orden en el que vas a acceder a ellos, no me preguntes porqué pero creo que te funcionará.


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 18 de junio de 2016 5:07
  • Duplicada:

    Sin Logica - Response.Write Funciona por Orden


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta José De Alva lunes, 20 de junio de 2016 17:08
    sábado, 18 de junio de 2016 5:08
  • Muchas gracias por tu respuesta. Efectivamente como tú dices funciona pero para mí es una locura hora volverá diseñar todas las páginas. De todas formas encontré la solución así que lo voy a explicar por si alguien más tiene este problema : El problema esta cuando has migrado de access a sql server. Y se produce por los campos que en access eran MEMO. Lo que hay que hacer es buscar el campo que esté dando problemas y cambiar en SQL server El tipo formato de columna Que por cierto no sé cuál es la que corresponde al equivalente de Memo en Access así que si alguien me lo puede decir se lo agradeceré
    • Marcado como respuesta jorge1.6.4.4 sábado, 18 de junio de 2016 8:16
    sábado, 18 de junio de 2016 8:16
  • Es cierto Jorge,

    ya no me acordaba.

    El tipo de datos que se correspondería con el tipo MEMO sería el text o ntext (para almacenarlo como caracteres unicode).

    Estos eran los tipos de datos que daban problemas. El problema es que una vez que has accedido la primera vez al valor (o has accedido al de un campo posterior) se pierde.

    Es decir si haces:

    Dim a = Rs("customeraccountingpaymentterm")
    Dim b = Rs("customeraccountingpaymentterm") 

    La variable a tendrá el texto correspondiente al campo, pero la variable b tendrá null.

    Si utilizas tipos de datos varchar o nvarchar no deberías tener ese problema.

    Si necesitas utilizar text, ntext o varbinary deberás tener en cuenta esto al acceder a los valores devueltos.



    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 18 de junio de 2016 8:51
  • Hola Asier,

    Me podrías dar tu email por favor? o si prefieres te doy el mio por aquí? Me gustaría comentarte algo. He mirado Píldoras .NET pero no he sabido encontrar tu email. 

    Gracias y Saludos / Jorge

    lunes, 20 de junio de 2016 18:41