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
ASP.NET 2.0 / 3.5 / 4.0
Click del bottone da form e caricamento dati letti da DataSet
martedì 20 gennaio 2009 - 17.46
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Leonida
Profilo
| Junior Member
85
messaggi | Data Invio:
mar 20 gen 2009 - 17:46
Ciao,
Ancora un problema con DataSet. Ho scritto un programmino di prova per testare il caricamento e la lettura da DataSet, il problema è che sembra non riesca a intercettare l'evento click del pulsante, le ho provate tutte.
Posto il codice, chiaramente è una prova quindi non è perfetto e la procedura di caricamento dei dati nella textBox sovrascrive ripetutamente lo stesso valore:-
<form id="form1" runat="server">
<div id="DInfoUtenti" style="border-left-color: aqua; border-bottom-color: aqua; border-top-style: ridge; border-top-color: aqua; border-right-style: ridge; border-left-style: ridge; border-right-color: aqua; border-bottom-style: ridge">
<asp:Label ID="LNome" runat="server" Style="z-index: 100; left: 70px; position: absolute;
top: 86px" Text="Nome" Width="100px"></asp:Label>
<asp:TextBox ID="TBNome" runat="server" Style="z-index: 101; left: 170px; position: absolute;
top: 86px"></asp:TextBox>
<asp:Label ID="LCognome" runat="server" Style="z-index: 102; left: 70px; position: absolute;
top: 111px" Text="Cognome" Width="99px"></asp:Label>
<asp:TextBox ID="TBCognome" runat="server" Style="z-index: 103; left: 170px; position: absolute;
top: 111px"></asp:TextBox>
<asp:Label ID="LCF" runat="server" Style="z-index: 104; left: 70px; position: absolute;
top: 136px" Text="CF" Width="99px"></asp:Label>
<asp:TextBox ID="TBCF" runat="server" Style="z-index: 105; left: 170px; position: absolute;
top: 136px"></asp:TextBox>
<asp:Button ID="BAggiorna" runat="server" Style="z-index: 100; left: 185px; position: absolute;
top: 185px" Text="Aggiorna" Width="100px" />
<asp:Button ID="BCarica" runat="server" Style="z-index: 102; left: 74px; position: absolute;
top: 186px" Text="Carica" Width="100px" OnClientClick=BCarica_Click OnClick="BCarica_Click" />
</div>
</form>
protected void BCarica_Click(object sender, EventArgs e)
{
string stringaDiConnessione = "Data Source=.\\SQLEXPRESS;" +
"AttachDbFilename=|DataDirectory|\\Utenti.mdf;" +
"Integrated Security=True;" +
"User Instance=True";
string query = " SELECT * FROM Utenti ";
SqlConnection connessione = new SqlConnection(stringaDiConnessione);
SqlDataAdapter adapter = new SqlDataAdapter(query, connessione);
DataSet data = new DataSet();
adapter.Fill(data, "Utenti");
foreach (DataRow row in data.Tables["Utenti"].Rows)
foreach (DataColumn dc in data.Tables["Utenti"].Columns)
{
TBNome.Text = row[dc, DataRowVersion.Current].ToString();
}
}
Dimenticavo di dire che ho eseguito il debug e ho avuto conferma che nel gestore dell'evento non entra.
paoval72
Profilo
| Senior Member
297
messaggi | Data Invio:
mer 21 gen 2009 - 08:27
Ciao, eseguendo paro paro da copia il codice html che hai postato, a me l'evento del bottone si scatena.
Ci sono altri metodi invocati nella pagina (ad esempio nel page_load)? La pagina è un semplice aspx o è un controllo inserito in un altro controllo (ad esempio usercontrol)?
PV
Leonida
Profilo
| Junior Member
85
messaggi | Data Invio:
mer 21 gen 2009 - 09:24
Guarda è un semplicissimo form, non ho fatto altro che inserire le TB e i bottoni, in pratica ho postato solo il codice che non è stato autogenerato da visual.
Leonida
Profilo
| Junior Member
85
messaggi | Data Invio:
mer 21 gen 2009 - 09:33
Ora funziona!!!Bah, non ci sto a capire niente, a volte funziona a volte no...possibile?!Boh!!!Però chiaramente non fa quello che dovrebbe...In teoria dovrebbe creare un oggetto DataSet e caricare i dati letti da DB. Per visualizzare questi dati come faccio? L'esempio non sembra funzionare!!!
Nello specifico dovrei caricare ogni valore di una tupla in un differente TB.
Leonida
Profilo
| Junior Member
85
messaggi | Data Invio:
mer 21 gen 2009 - 10:00
Vabbè, penso di aver capito dov'era l'errore, per i posteri...in pratica occorre impostare nel tag asp:Button OnCLick con il nome del gestore dell'evento e non OnClientClick.
Riguardo il caricamento delle informazioni, più o meno si usa il seguten codice per postare le informazioni da dataset, con riferimento al primo valore della prima tupla:
DataTable table = null;
DataColumn column = null;
DataRow row = null;
table = data.Tables["Utenti"];
column = data.Tables["Utenti"].Columns[0];
row = data.Tables["Utenti"].Rows[0];
Per stampare le informazioni in una TB quindi si scrive:
TBNome.Text = row[column].ToString();
Chiaramente è un esempio rapportato al mio caso, riferito a una tabella di un DB con nome, cognome e CF.
paoval72
Profilo
| Senior Member
297
messaggi | Data Invio:
mer 21 gen 2009 - 10:04
Ciao. Spiegami quel che vorresti fare. Il ciclo di foreach che hai creato sovrascrive ogni volta il testo della textbox
Se vuoi concatenarlo, usa il +
TBNome.Text += row[dc, DataRowVersion.Current].ToString();
ma avresti sempre solo un elenco di dati concatenati, se la query sul db restituisce più righe.
PV
Leonida
Profilo
| Junior Member
85
messaggi | Data Invio:
mer 21 gen 2009 - 15:48
In realtà sto solo facendo qualche prova prima di aggiungere codice al mio progetto reale, se avessi problemi dopo sarebbe complicato trovare l'errore. Cmq ho risolto, ti ringrazio
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 !