Visualizzazione dati SQL Server in datagrid

domenica 19 dicembre 2010 - 17.30
Tag Elenco Tags  VB.NET

cypher Profilo | Junior Member

ciao a tutti.
vorrei estrarre dati da un db sql server e visualizzarli in un datagrid.
ho fatto questo
try Dim query As New String("SELECT * FROM dbo.tweet") Dim conn As New SqlClient.SqlConnection(str_conn) Dim cmd As New SqlCommand(query, conn) Dim ds As New DataSet Dim da As New SqlDataAdapter(query, conn) conn.Open() da.Fill(ds, "dbo.tweet") grid_result.AutoGenerateColumns = True grid_result.DataSource = ds.Tables("dbo.tweet").DefaultView conn.Close() Catch MsgBox("Connessione Fallita") Finally End Try
ma mi da connessione fallita e l'errore è sul da.fill(ds,"dbo.tweet"). (come secondo parametro fill non vuole mica il nome della tabella?)

LucaRomandini Profilo | Newbie

in da.fill togli il secondo parametro...e come primo parametro penso voglia una dataTable... quinti scrivi da.Fill(ds.Tables[0]) oppure crei una dataTable e gli passi quella :)
____________
LUCA

cypher Profilo | Junior Member

cosi come mi hai detto tu
Private Sub loadTABLE() Dim query As New String("SELECT * FROM dbo.tweet") Dim ds As New DataSet Dim da As New SqlDataAdapter(query, conn) da.Fill(ds.Tables[0]) grid_result.AutoGenerateColumns = True grid_result.DataSource = ds.Tables("dbo.tweet").DefaultView End Sub

mi da proprio errore di compilazione

LucaRomandini Profilo | Newbie

class DatabaseManager
{
private string path;
private OleDbConnection connection;

public DatabaseManager(string parPath)
{
path=parPath;
connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path);
}

public DataSet creaDataSet()
{
DataTable tab;
OleDbDataAdapter adapter;
DataSet ds = new DataSet();
connection.Open();

//Tabella contenente le tipologie dei prodotti
tab = new DataTable();
adapter = new OleDbDataAdapter("SELECT * FROM TabTipologie", connection);
adapter.Fill(tab);
ds.Tables.Add(tab);

adapter.Dispose();
connection.Close();
return ds;
}
}

Tieni... l'ho copiato da un programma che ho scritto giusto l'altro giorno...è c# ma si capisce lo stesso :)
____________
LUCA

cypher Profilo | Junior Member

sembra non funzionare comunque. come si fa in visual studio 2010 ada andare avanti step by step? in vs 2008 mi sembrava fosse f8 ma ora sembra non funzionare

LucaRomandini Profilo | Newbie

Prova a postare per intero il pezzo di codice...per lo step by step c'è un pulsante nella barra, ma sinceramente non ricordo quale sia l "F" corrispondente
____________
LUCA

LucaRomandini Profilo | Newbie

Azz...mi è venuta una idea...Hai presente la modifica che ti ho fatto fare e che ti dava errore di compilazione?!? prova a sostituire ds.Tables[0] con ds.Tables("dbo.tweet").... in c# l'elemento i-esimo del vettore si specifica con le [] in vb, se non erro, con () ecco a cosa dovrebbe essere dovuto l'errore...
____________
LUCA

cypher Profilo | Junior Member

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

cypher Profilo | Junior Member

using (SqlConnection conn = new SqlConnection(str_conn)) { conn.Open(); string query = "SELECT * FROM dbo.t_tweet"; DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(query,conn); da.Fill(ds,"dbo.t_tweet"); grid_result.AutoGenerateColumns = true; grid_result.DataSource = ds; grid_result.DataMember = "dbo.t_tweet"; //SqlCommand query = new SqlCommand("SELECT * FROM dbo.tweet",conn); //SqlDataReader reader = new SqlDataReader(); }
questo praticamente è il codice. ma mi da errore sempre sul da.fill, come se non gli piacesse il nome della tabella.

LucaRomandini Profilo | Newbie

allora...procedi con queste due verifiche:
1)Testa se funge la connessione al database(verifica provider, percorso, sintassi della conn ecc..)
2)Prova ad eseguire la query direttamente da sql...possibile che tu abbia sbagliato il nome della tabella o qualche maiuscola...
____________
LUCA

cypher Profilo | Junior Member

la connessione funziona tanto è vero che se faccio solo un conn.open() va tutto bene.
anche la query funziona bene.

non capisco prorpio cosa c'è che non va

tra l'altro ho anche guardato sul manuale di c# e la sintassi corrisponde quindi non è li il problema.
secondo me è un problema di sql server

cypher Profilo | Junior Member

ok ho provato a connettermi ad un server remoto mysql e le cose funzionano quindi il problema deve essere per forza nel richiamo della tabella.

apro un riferimento anche nella sezione database.
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5