Visualizzazione dei risultati da 1 a 9 su 9

Discussione: concatenare in select

  1. #1

    concatenare in select

    solita "rottura" per la sintassi

    Dim nome_tabella
    if session("lingua") = ("ita") or session("lingua") = "" then
    nome_tabella = ("Menu_ita")
    else
    nome_tabella = ("Menu_eng")
    end if

    set nome_tabella = Server.CreateObject("ADODB.Recordset")
    sql = " SELECT * from" &nome_tabella& "where IDPadre ="& 0 & " Order by posizione "
    nome_tabella.ActiveConnection = cn
    nome_tabella.Open sql, cn


    come faccio a concatenare nome_tabella ?

  2. #2
    non riesco a capire cosa hai scritto puoi spiegare meglio?

  3. #3
    ho 1 sessione che cambia lingua e a seconda della sessione vorrei fare la select su una o sull'altra tabella

    //controllo la session e stabilisco il nome della tabella

    Dim nome_tabella
    if session("lingua") = ("ita") or session("lingua") = "" then
    nome_tabella = ("Menu_ita")
    else
    nome_tabella = ("Menu_eng")
    end if


    // select sulla tabella

    set nome_tabella = Server.CreateObject("ADODB.Recordset")
    sql = " SELECT * from" &nome_tabella& "where IDPadre ="& 0 & " Order by posizione "
    nome_tabella.ActiveConnection = cn
    nome_tabella.Open sql, cn



    nome_tabella viene stabilito prima....solo che scrivendo così come ho scritto:

    // non è concatenato giusto
    sql = " SELECT * from" &nome_tabella& "where IDPadre ="& 0 & " Order by posizione "


    // apre una tabella chiamata nome_tabella ...che non esiste nel DB

    nome_tabella.ActiveConnection = cn
    nome_tabella.Open sql, cn

  4. #4
    scusa ma perchè nome_tabella prima lo usi come variabile di testo e poi come recordset e poi come variabile di testo e poi come recordset? mi sembra che hai le idee confuse...

  5. #5
    che io ho le idee confuse ...è vero.....

    Santino come si può fare per cui?

  6. #6
    beh dipende che devi fare:
    codice:
    //controllo la session e stabilisco il nome della tabella
    
    Dim nome_tabella
    if session("lingua") = ("ita") or session("lingua") = "" then
    nome_tabella = ("Menu_ita")
    else
    nome_tabella = ("Menu_eng")
    end if
    
    
    // select sulla tabella
    dim rs   'creo un recordset
    set rs = Server.CreateObject("ADODB.Recordset")
    sql = " SELECT * from" &nome_tabella& "where IDPadre ="& 0 & " Order by posizione "
    rs.ActiveConnection = cn
    rs.Open sql, cn
    questo?

  7. #7
    Inizia a distinguere le stringhe dai recordset poi stampati la query e di cosa ti tira fuori

    Dim strnome_tabella
    if session("lingua") = ("ita") or session("lingua") = "" then
    strnome_tabella= "Menu_ita"
    else
    strnome_tabella = "Menu_eng"
    end if


    // select sulla tabella

    set rsnome_tabella = Server.CreateObject("ADODB.Recordset"
    sql = " SELECT * from" & strnome_tabella & "where IDPadre =0 Order by posizione "
    rsnome.ActiveConnection = cn
    rsnome.Open sql, cn



    nome_tabella viene stabilito prima....solo che scrivendo così come ho scritto:

    // non è concatenato giusto
    sql = " SELECT * from" & strnome_tabella & "where IDPadre =0 Order by posizione "


    // apre una tabella chiamata nome_tabella ...che non esiste nel DB

    rsnome.ActiveConnection = cn
    rsnome.Open sql, cn

  8. #8
    per fetto!!!!!!!!

    grazie 1000

  9. #9
    la prossima volta impara ad usare nomi di variabili e di recordset diversi.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.