Principale utente con più risposte
Query con nome tabella come parametro

Domanda
-
Ciao,
sto facendo una query in cui ho bisogno di specificare il nome della tabella tramite variabile. Come si fa???
Io ho provato così ma non và:
Comando.CommandText = "SELECT * FROM @Tabella WHERE ID=@ID";
Tab.ParameterName = "@Tabella";
Tab.SqlDbType = SqlDbType.VarChar;
Tab.Size = 10;
Tab.Direction = ParameterDirection.Input;
Tab.Value = Tabella;Tabella è la mia variabile in cui ho il nome della tabella.
Risposte
-
Il codice che ha scritto è in VB.
Definisci pure una variabile di tipo stringa e usa il + per la concatenazione.
- Contrassegnato come risposta WebDeveloper3 sabato 12 aprile 2014 08:45
Tutte le risposte
-
no, il TSQL non accetta di parametrizzare il nome tabella, neppure da riga comando.
Se capisco tu sei da codice; se si allora devi risolvere la stringa prima di assegnarla a CommandText.
Una cosa tipo:
dim Tabella variant = "PIPPO"
Comando.CommandText = "SELECT * FROM " & Tabella & " WHERE ID=@ID"
la WHERE invece funziona e puoi lasciarla parametrica (la discussione sulle performance la lasciamo per dopo ;-))
- Proposto come risposta Edoardo BenussiMVP, Moderator giovedì 10 aprile 2014 15:07
-
-
-
Il codice che ha scritto è in VB.
Definisci pure una variabile di tipo stringa e usa il + per la concatenazione.
- Contrassegnato come risposta WebDeveloper3 sabato 12 aprile 2014 08:45
-