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
App. WinForms / WPF .NET
Come lavorare con i database
domenica 25 gennaio 2009 - 18.19
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
dani87
Profilo
| Junior Member
83
messaggi | Data Invio:
dom 25 gen 2009 - 18:19
Ciao a tutti,
il mio quesito è questo:
Nello sviluppo di un programma, in cui è necessario utilizzare un database, è più prestante scrivere le query nel codice ad esempio:
SqlConnection conn = new SqlConnection("<stringa di connessione>");
SqlDataReader rdr = null;
conn.Open();
String query = "SELECT * FROM Tabella1";
SqlCommand cmd = new SqlCommand(query, conn);
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
<operazioni varie>
}
rdr.Close();
conn.Close();
oppure scrivere le query nelle tableAdapter del dataset collegato al database e richiamarle da codice ad esempio:
DataSet1TableAdapters.Tabella1TableAdapter tbA = new DataSet1TableAdapters.Tabella1TableAdapter();
DataSet1.Tabella1DataTable tbL = new DataSet1.Tabella1DataTable();
tbA.Query_1(tbL);
DataTableReader rdr = tbL.CreateDataReader();
while (rdr.Read())
{
<operazioni varie>
}
Grazie
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
dom 25 gen 2009 - 18:25
Assolutamente la prima soluzione, in quanto, non sei legato in alcun modo al designer del dataset, mentre nella seconda soluzione, probabilmente, parte del codice è stata generata dal Wizard di VisualStudio(che sarebbe da bruciare
).
Ovviamente questa è solo una mia considerazione....
Ciao....
dani87
Profilo
| Junior Member
83
messaggi | Data Invio:
dom 25 gen 2009 - 18:28
Ma a livello di velocità di esecuzione delle query?
Jeremy
Profilo
| Guru
1.527
messaggi | Data Invio:
dom 25 gen 2009 - 18:46
La velocità nell'esecuzione delle query non centra nulla con il fatto di usare un tecnica di programmazione o l'altra....ma piu che altro la struttura della Stringa in se stessa.
Ovviamente stima parlando di query molto complesse(non mi sembra questo il caso).
E' altrettanto ovvio che se, per recuperare campo1 dalla tabella1, scrivi
SELECT * FROM Tabella1
è meno performante che scrivere
SELECT Campo1 FROM Tabella1
oppure se per recuperare il NomeCliente dalla tabella Clienti in base all'IdCliente presente nella tabella Fatture scrivi
SELECT a.NomeCliente FROM(SELECT * FROM Clienti) as a,(SELECT * FROM Fatture) as b WHERE b.IdCliente=a.IdCliente
è meno performante che scrivere
SELECT Clienti.NomeCliente FROM Clienti,Fatture WHERE Clienti.IdCliente=Fatture.IdCliente
ma di esempi ce ne sarebbero tantissimi altri da fare....(forse anche più espliciti.....al momento mi è venuto in mente questo)
In attesa che qualcuno mi smentisca o ti dia spiegazioni più auterevoli....prendi per buono il mio consiglio.
Ciao...
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 !