Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Visualizzare tabella sql server e c#
lunedì 24 agosto 2009 - 15.47
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
devilxx84
Profilo
| Newbie
12
messaggi | Data Invio:
lun 24 ago 2009 - 15:47
Salve a tutti
Ho creato una console application che interagisce con un database
Vorrei riuscire a stampare a video il contenuto di una tabella indicata da un utente tramite input da tastiera
se faccio con con un data reader:
Console.WriteLine("Quale tabella vuoi aprire?");
string tab;
tab = Console.ReadLine();
string sel = "SELECT * FROM ";
string select = String.Concat(sel, tab);
SqlCommand co = new SqlCommand(select, conn);
SqlDataReader leggi = co.ExecuteReader();
while (leggi.Read())
{
Console.WriteLine(leggi[0]);
Console.ReadLine();
}
leggi.Close();
in questo modo mi stampa solo il primo campo della tabella. se mettessi leggi[1] avrei il secondo campo ecc ecc... per vederli tutti dovrei sapere il numero di campi di ogni singola tabella.
come posso fare per vedere tutta la tabella completa senza conoscere il numero dei campi presenti?
Ho provato anche con una stored procedure
CREATE PROCEDURE (@tabella NCHAR (50))
AS
SELECT * FROM "@tabella"
dove @tabella è un parametro di input impostato da programma cosi come segue:
SqlCommand apri = new SqlCommand("APRITABELLE", conn);
apri.CommandType = CommandType.StoredProcedure;
apri.Parameters.AddWithValue("@tabella", tab);
ma mi viene dato un messaggio di errore
"Il nome di oggetto '@tabella' non è valido"
come posso risolvere?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 24 ago 2009 - 18:30
>Salve a tutti
ciao
>in questo modo mi stampa solo il primo campo della tabella. se
>mettessi leggi[1] avrei il secondo campo ecc ecc... per vederli
>tutti dovrei sapere il numero di campi di ogni singola tabella.
>come posso fare per vedere tutta la tabella completa senza conoscere
>il numero dei campi presenti?
con questo:
SQLDataReader.FieldCount
http://msdn.microsoft.com/it-it/library/system.data.sqlclient.sqldatareader.fieldcount%28VS.80%29.aspx
poi dovrai ciclare per scorrere i campi.
>"Il nome di oggetto '@tabella' non è valido"
>come posso risolvere?
non si può fare in quel modo, devi concatenare l'sql in una stringa dinamica e poi eseguirlo con una sp_executesql (
http://msdn.microsoft.com/it-it/library/ms188001.aspx
)
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !