Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    ASP + SQL comportamenti nei tipi di campi

    buon giorno a tutti, e' tanto tempo che non scrivo qui, vi chiedo se vi e' capitata (o e' un problema di mia ignoranza) questa cosa:

    In una tabella SQL, alcuni campi sono di tipo (nvarchar), lato asp faccio le mie normalissime query (su altri campi della tabella) di estrazioni dati e le visualizzo correttamente.

    Prendo la stessa tabella e cambio alcuni campi da (nvarchar a text) perche' mi servono di dimensioni grandi.
    Vado a fare la mia stessa query e magia? alcuni campi vengono valorizzati e altri no.
    Faccio la riprova, riporti i tipi in nvarchar, e mi ritorna tutto come era prima.

    Cosa puo' essere successo? e come mai mi capita questa cosa? va fanno un accesso diverso? o una query diversa ?

    Maurizio

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Assegna il valore del campo preventivamente ad una variabile.

    Roby

  3. #3
    scusami forse non mi sono spiegato ti copio la query:

    set oRicerca = conn.Execute("SELECT Offerte.*, Offerte.PrezzoConcordato as Concordato, Commesse.*, CFServizi.descrizione as descrizioneservizio, CFServizi.tipo as tipo FROM OFFERTE INNER JOIN CFServizi ON Offerte.idServizio = CFServizi.idServizio LEFT OUTER JOIN Commesse ON Offerte.Idcommessa = Commesse.numeroCommessa AND Offerte.idnumannco = Commesse.numannCommessa WHERE (Offerte.commerciale = N'"&commerciale&"') AND (dataScadenza BETWEEN CONVERT(DATETIME, '"&data_PArtenza&" 00:00:00', 102) AND CONVERT(DATETIME, '"&data_Arrivo&" 00:00:00', 102)) AND tipoOfferta = 'H' AND Commesse.Sospesa = 'No' ORDER BY DATASCADENZA ASC

    vabbe' al di la dei dati, te fai conto che io poi stampo ad esempio questo valore con un semplice response.write oRicerca("ragsoc") nella tabella Offerte.

    se io metto il campo (note offerta che e' uno dei 50 campi della tabella) in formato text, il response.write oRicerca("ragsoc") mi da null .. se invece lo rimetto nvarchar .. mi valorizza i dati ..

    e' qui che non capisco come mai ..
    Maurizio

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ti ho già risposto.
    Non devi scrivere
    codice:
    response.write(oRicerca("ragsoc"))
    ma:
    codice:
    ragsoc = oRicerca("ragsoc") 
    response.write (ragsoc)
    Roby

  5. #5
    Originariamente inviato da fegat\\n0
    scusami forse non mi sono spiegato ti copio la query:

    .................
    se io metto il campo (note offerta che e' uno dei 50 campi della tabella) in formato text, il response.write oRicerca("ragsoc") mi da null .. se invece lo rimetto nvarchar .. mi valorizza i dati ..

    e' qui che non capisco come mai ..
    Maurizio
    secondo me l'arcano si spiega con il fatto che i campi di tipo nvarchar usano la codifica
    unicode (come quelli di tipo ntext) mentre quelli di tipo text no;

    in conclusione converti i campi da nvarchar ad ntext e facci sapere...

  6. #6
    mettendo il tipo ntext non fa nulla, mentre come dice Roby con il sistema:

    ragsoc = oRicerca("ragsoc")
    response.write (ragsoc)

    funziona.
    chiedo pero' il sistema e' solo se devo stampare il valore .. se io ho tutte le condizioni scritte .. con If oRicerca("....") devo sostiturle tutte ?

    e se (Scusa se ne approfitto) puoi dirmi come mai funziona cosi?
    grazie,

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Anche con i campi memo di access funziona così.

    Roby

  8. #8
    Originariamente inviato da fegat\\n0
    mettendo il tipo ntext non fa nulla,....
    ... c'ho provato
    Originariamente inviato da fegat\\n0
    mentre come dice Roby con il sistema:

    ragsoc = oRicerca("ragsoc")
    response.write (ragsoc)

    funziona.
    ...............
    e se (Scusa se ne approfitto) puoi dirmi come mai funziona cosi?
    sono curioso di saperlo anch'io

  9. #9
    Originariamente inviato da sspintux
    ... c'ho provato

    sono curioso di saperlo anch'io
    probabilmente perché ASP non riesce a fare una conversione implicita (in poche parole, non sa rispondersi alla domanda: che *zz* di campo è questo?). se invece forzi la conversione, lui ubbidisce

  10. #10
    Originariamente inviato da optime
    probabilmente perché ASP non riesce a fare una conversione implicita (in poche parole, non sa rispondersi alla domanda: che *zz* di campo è questo?). se invece forzi la conversione, lui ubbidisce
    che ci fosse un qualche tipo di conversione/elaborazione l'avevo intuito optime...

    comunque quella che segue a me sembra che stampi correttamente;

    ... non so se dipende dal fatto che ho il framework .NET installato (2.0)
    o se attiva qualche opzione sulla tabella pub_info ( text in row ?)
    o da cos' altro possa dipendendere...
    ...a voi ?

    codice:
    <%
    dim c, r
    
    set r = server.CreateObject("ADODB.Recordset")  
    c="FILE NAME=" & server.MapPath("conn.udl") 'punta a pubs degli esempi di sql server 2000
    r.Open "Select * from pub_info", c
    response.Write "<*** inizio stampa r('pr_info')****> 
    "
    response.Write r("pr_info") 
    response.Write "
     <************* fine stampa r('pr_info')= **************> 
    "
    %>

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.