Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Tipo di dato da cambiare?

    Ciao a tutti,

    faccio una SELECT che mi va a prendere i dati personali di un determinato ospite di un istituto.
    Quindi ho la mia tabella DatiPersonali che collego tramite FK (IdIstituto) alla tabella Istituto con PK (IdIstituto).

    IdIstituto è un campo contatore per quanto riguarda la tabella Istituto, mentre è campo numerico per la tabella DatiPersonali.

    I primi 9 IdIstituto sono inseriti in questo formato:

    01
    02
    03
    04
    ...

    in entrambe le tabelle.

    Quando faccio la mia select:

    codice:
    sql="SELECT TOP 30 IdDatiPersonali, Cognome, Nome, IdIstituto FROM DatiPersonali ORDER BY IdDatiPersonali DESC"
    set rs = Conn.execute(sql)
    effettuo un replace e vado a stampare i risultati:

    codice:
    Do Until rs.EOF
    		
    IstNome = rs("IdIstituto")
    IstNome = replace(IstNome,"01","Primo istituto")
    IstNome = replace(IstNome,"02","Secondo istituto")
    
    ...
    
    response.write("
    ")
    response.write(rs("Cognome") & " " & rs("Nome") & " - " & IstNome)
    rs.MoveNext
    Loop
    il problema, come avrete potuto intuire, è che se una persona appartiene ad uno dei primi 9 istituti non mi stampa il nome dell'istituto ma l'ID ad esempio 7 (quando in DB è contrassegnato per 07)...

    il problema è dovuto probabilmente al tipo di dato... devo cambiarlo?
    In testo... o come?

    Grazie
    You see beauty I see pain, You see sky and I see acid rain

  2. #2
    "IdIstituto" è teso o numerico? Penso la seconda.
    Prova la seconda:

    codice:
    IstNome = cstr(rs("IdIstituto"))
    IstNome = replace(IstNome,"01","Primo istituto")
    IstNome = replace(IstNome,"02","Secondo istituto")
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    Ciao maximum

    IdIstituto nella tabella DatiPersonali è di tipo Numerico.

    Ho provato ma il risultato è sempre il medesimo...

    mi stampa Cognome Nome e numero... in questo caso 7 e non 07
    You see beauty I see pain, You see sky and I see acid rain

  4. #4
    Ma te lo stampa per tutti i casi possibili?
    Anche 01 e 02?

    Ma non puoi fare:

    codice:
    IstNome = cstr(rs("IdIstituto"))
    
    select case cstr(IstNome)
       case "01"
          IstNome = "Primo istituto"
       case "02"
          IstNome = "Secondo istituto"
       case "03"
          IstNome = "Terzo istituto"
       .....
       case "07"
          IstNome = "Settimo istituto"
    end select
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    Si in tutti i casi me li stampa... però mi stampa sempre:

    Pinco Pallino - 1
    Tal Dei Tali - 7

    e non

    Pinco Pallino - 01
    Tal Dei Tali - 07


    non capisco... ho provato pure con il select case ma niente :master:
    You see beauty I see pain, You see sky and I see acid rain

  6. #6
    Come non detto... facendo


    select case cstr(IstNome)
    case "1"
    ...


    e non 01 funziona

    Grazie maximum
    You see beauty I see pain, You see sky and I see acid rain

  7. #7
    Meno male....

    Prego.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

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.