|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2003
Messaggi: 2805
|
[VB.NET] Programma in rete: accorgimenti
Ho un programma in VB.NET
Ho un DB in SQLSERVER2005 Devo far lavorare il programma in rete Mi date alcuni accorgimenti sulla costruzione. Ad esempio, - apro la connesione - carico dati in dataset - passo il dataset ad una griglia - poi chiudo dataset - chiudo la connessione Ora devo fare un ADD - apro la connessione - eseguo la INSERT - chiudo la connessione Va bene cosi??? Ditemi voi qualè il criterio migliore Ciao e grazieeeeee
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Aug 2003
Messaggi: 72
|
In un programma io creerei un'istanza di connessione all'avvio del programma e la manterrei attiva per tutta la durata dell'esecuzione, chiudendola solo all'uscita del programma.
Ti devi preoccupare una volta sola dell'apertura e chiusura della connessione e essendo ADO.NET un sistema di accesso ai dati disconnesso non dovrebbe comportare nessuna differenza prestazionale (se non un miglioramento non avendo la necessità di effettuare la connessione ogni volta).
__________________
Visual Basic e dintorni Blog sullo sviluppo web |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
Ovviamente dipende dal cosa la tua applicazione è destinata a fare.
L'approccio suggerito da simoneart non è sbagliato, ma offre poca flessibilità. Pensa se ti dovessi servire di connessioni multiple... ADO.NET gestisce il pooling delle connessioni. Semplificando i metodi Open e Close non aprono e chiudono direttamente una connessione. Open richiede una connessione libera che risiede nel pool che viene poi lockata. Close (analogamente a Dispose) la libera rendendola disponibile a chiunque ne faccia richiesta. Se siete interessati all'argomento con una googlata trovate un po' di informazioni. Per essere sicuri che una connessione venga liberata dopo essere stata utilizzare potete usare gli approcci seguenti: Codice:
using (SqlConnection myCon = new SqlConnection(connectionString)) { myCon.Open(); // fai quello che devi fare } Codice:
SqlConnection myCon = new SqlConnection(connectionString); try { myCon.Open(); // fai quello che devi fare } catch () { // gestisci le eccezioni che devi gestire } finally { myCon.Close(); // oppure myCon.Dispose() } Scusa per il codice in C#, ma non avevo voglia di cercare la sintassi in VB.NET 'iao |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:15.