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
Quey Access ottimizzate con "Stored Procedure"
giovedì 28 settembre 2006 - 21.22
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
paolomanfrin
Profilo
| Newbie
27
messaggi | Data Invio:
gio 28 set 2006 - 21:22
Spesso leggo sui forum una modalità non ottimizzata di esecuzione delle query access. Invece di creare una "stored procedure" ( in access non è proprio tale ma facciamo finta di si... ) e richiamarla da codice passando solo i parametri necessari, viene scritta TUTTA la query nel codice.
La differenza è molto importante, ma voglio per ora tralasciarla.
Voglio illustrare un semplice esempio di come utilizzare le "stored procedure" in access
Database "Mio_Database" con Tabella "Tbl_Utente" con i campi "ID", "Nome_Utente", "Password".
==========================
Stored Procedure ( che non è altro che una query ) di nome Qry_Get_Password con la seguente sintassi:
SELECT [Password]
FROM Tbl_Utente
WHERE [Nome_Utente]=[@Nome_Utente];
==========================
Ora, all'interno del codice ( Uso C# ) la sintassi sarà la seguente:
private void registrazione_db()
{
OleDbConnection connessione_oledb = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\App_Data\\Mio_Database.mdb;");
OleDbCommand comando_oledb = new OleDbCommand();
comando_oledb.Connection = connessione_oledb;
comando_oledb.CommandType = CommandType.StoredProcedure;
comando_oledb.CommandText = "Qry_Get_Password";
comando_oledb.Parameters.Add("@Nome_Utente", OleDbType.VarChar);
comando_oledb.Parameters["@Nome_Utente"].Value = TextBox_UserID.Text; // Recupero il valore da cercare da una Textbox
OleDbDataReader lettore_oledb;
connessione_oledb.Open();
lettore_oledb = comando_oledb.ExecuteReader();
while (lettore_oledb.Read())
{
TextBox_Codice_Registrazione.Text = lettore_oledb[0].ToString(); // Questo ciclo è da rivedere, altrimenti memorizza solo l'ultima password
}
connessione_oledb.Close();
}
Spero che queste informazioni siano di aiuto.
Ciao a tutti, Paolo Manfrin
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 !