Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    16

    MS SQL ASP e campi Text che non vengono scritti a video

    Fondamentalmente non riesco a richiamarli!!!
    Ho un DB MS SQL 2005 tra le varie tabelle ne ho una che uso per inserire dei commenti. Prevendo appunto che questi commenti siano un po' "lunghetti" ho scelto di usare un campo di tipo "text".

    Al momento dell'inserimento... no a dire il vero ancora non ho fatto nessuna procedura di inserimento. Comunque sto facendo varie prove e non riesco a far scrivere a video il contentuto di questi campi.
    Ah mi dimenticavo la cosa più importante, sto sviluppando tutto questo macello in ASP... e nonostante non mi indica nessun errore al momento dell'esecuzione della pagina non compare nulla scitto a video.

    Mi spiego meglio. Se lancio una query che va a riempire un bel recordset, al momento che vado a fare i vari response.write recordset.fields("commento") non mi compare nulla... tutto bianco. Ma questo accade solo con il campo text... perché sullo stesso record ho anche un campo char e quello viene scritto a video.... qualcuno sa spiegarmi il perché?

    Sul manuale che si scarica dal sito della microsoft poi ho appena trovato questo trafiletto

    Importante In SQL Server 2005 utilizzare il tipo di dati varchar(max) anziché text. Nota Il tipo di dati text verrà rimosso in una versione futura di Microsoft SQL Server. Per ulteriori informazioni, vedere...
    Letto... e quindi ho cambiato il tipo dato da text a varchar(max).... ma il risultato non cambia.

  2. #2
    invece di

    response.write rs(campo)

    prova a fare

    miocampo=rs(campo) & ""
    response.write miocampo

    accertati inoltre di non aver fatto

    SELECT * ...

    ma di aver specificato i campi

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    16
    Niente... mi sembra allucinante come situazione non scrive assolutamente nulla!!.
    A questo punto allego una porzione di codice nella speranza che qualcuno mi dica dove sbaglio!

    codice:
    <html>
    
    <head>
    
    <title>New Page 1</title>
    </head>
    
    <%
    strConnString ="Driver={SQL Server}; Server=0.0.0.0; Database=xxx; Uid=xxx; Pwd=xxx;"
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open(strConnString)
    
    ID_img = request.querystring("ID_img")
    
    
    sql_immagine = "SELECT * FROM immagini WHERE ID_img="&ID_img&";"
    set rds_immagine = objConn.execute(sql_immagine)
    
    sql_cartella = "SELECT * FROM cartelle WHERE ID_cart="&rds_immagine.fields("id_cart")&";"
    set rds_cartella = objConn.execute(sql_cartella)
    
    sql_commenti = "SELECT ID_com, ID_img, commento, nome FROM commenti WHERE ID_img="&ID_img&";"
    set rds_commenti = objConn.execute(sql_commenti)
    
    %>
    
    
    
    
    <body bgcolor="#000000" text="#FFFFFF">
    
    <p align="center"><img border="0" src="
    <%
    response.write Replace(rds_cartella.fields("path")," ", "")
    response.write "/"
    response.write rds_immagine.fields("path")
    %>"></p>
    <form method="POST" action="--WEBBOT-SELF--">
      <div align="center">
        <center>
        <table border="0" width="800">
          <tr>
            <td width="100%">Nome Foto: <input type="text" name="nome_foto" size="100" value="<%response.write rds_immagine.fields("nome")%>">                            
              
    
     </p>
              <hr>
              <% IF rds_commenti.EOF THEN %>
              <p align="center"><big>Nessun commento</big></p>                         
              <%END IF%>
              
              <%
    			c=1
    			do while not rds_commenti.eof
    			nome_commento = "commento_" + Cstr(rds_commenti.fields("ID_com"))
    			%>
              	
    
    Aggiorna Form <input type="checkbox" name="C<%response.write c%>" value="ON">
     
              	Nome Utente: <input type="text" name="nome<%response.write c%>" size="25" value="<%response.write Replace(rds_commenti.fields("nome"), " ", "")%>">  
              	<p align="center"><textarea rows="8" name="<%response.write nome_commento%>" cols="100">
              	<%
              	commento = rds_commenti.fields("commento") & ""
              	response.write commento%>
              	</textarea>     
              <%                    
    
    			varsess = "quiIDnum" + CStr(c)
    			Session(varsess) = rds_commenti.Fields("ID_com")
    
    			rds_commenti.movenext
    
    			c = c+1
    			response.write "<hr>"
    			LOOP
    			session("iterazioni") = c
    		%>
              
              <p align="center"> </td>
          </tr>
        </table>
        </center>
      </div>
      <p align="center"> </p>
      <p align="center"><input type="submit" value="Modifica" name="Modifica"></p>
    </form>
    <p align="center"> </p>
    
    </body>
    
    </html>
    
    <%
    objConn.Close
    Set objConn = Nothing
    %>

  4. #4
    quale è il campo?
    quale è la riga?
    non vedo applicati i miei suggerimenti...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    16
    Come no!! Sei più cecato di me allora (io dico di non vedere e ho uno schermo da 22")

    Comunque... il campo incriminato si trova in una tabella che si chiama "commenti" (originale è??) e il campo text, anzi ormai modificato in varchar(max) si chiama "commento".
    Allora io carico il contenuto della tabella dentro ad un recordset "rds_commenti" e se vedi bene la terza query è quella che "riempie" il recordset ed ha tutti i campi specificati.

    Poi nel centro della pagina c'è un form e una textarea... i commenti dovrebbero andare la dentro, se noti bene io inizializzo una variabile
    codice:
    <%
    commento = rds_commenti.fields("commento") & ""
    response.write commento
    %>
    ma torno a dire che non si vede nulla!

  6. #6
    "commento" è l'unico campo che non si vede? gli altri si vedono? hai provato (per isolare il problema) ad usare varchar(4000) invece di varchar(max)?

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    16
    esatto... solo commento non si vede.

    Adesso mi collego al db e provo a cambiare da varchar(max) a varchar(4000)

  8. #8
    oki. sempre per isolare... prova così

    codice:
    ...
    
    <textarea rows="8" name="<%response.write nome_commento%>" cols="100">
    <%
       response.write "da qui ->>"
       commento = rds_commenti.fields("commento") & ""
       response.write commento
       response.write "<<-a qui"
    %>
    </textarea>

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    16
    Si, Ok, usando varchar(4000) i commenti appaiono magicamente. Ma ora mi vorrei capire come mai non funziona con text o varchar(max).... nel senso... il problema per me rimane! Già so che 4000 caratteri sicuramente non basteranno.

  10. #10
    prova anche con

    commento = CStr(rds_commenti.fields("commento") & "")

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.