2010-10-12 3 views
1

Lorsque je charge ma page, je remplis mon répéteur avec le code suivant.Établissez une connexion à la base de données une seule fois lors du chargement de la page

 Dim conn As Data.SqlClient.SqlConnection 
     Dim Comm As Data.SqlClient.SqlCommand 
     Dim reader As Data.SqlClient.SqlDataReader 

     'conn = New Data.SqlClient.SqlConnection("Server=localhost\sqlexpress; " & _ 
     '"Database=MyDB; Integrated Security=true") 
     conn = New Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("MyConnection").ConnectionString) 

     Comm = New Data.SqlClient.SqlCommand(_ 
     ("HomePage"), conn) 

     Comm.CommandType = CommandType.StoredProcedure 
     Comm.Parameters.AddWithValue("@currentState", "Florida") 

     ' Open the connection 
     conn.Open() 
     ' Execute the category command 
     reader = Comm.ExecuteReader() 

     ' Bind the reader to the repeater....... 
     blogRepeater.DataSource = reader 

     blogRepeater.DataBind() 

     ' Close the reader 
     reader.Close() 
     ' Close the connection 
     conn.Close() 

    End Try 

Maintenant, je veux appeler une autre procédure stockée (en même temps) pour que je puisse remplir certains champs de texte (également sur chargement de la page). Mais comment puis-je faire cela pour que je ne fasse appel à ma base de données qu'une seule fois pour de meilleures performances?

exemples C# seront également travailler si vous ne connaissez pas VB.NET

Répondre

4

Il suffit de ne pas fermer la connexion et de déclencher une autre procédure stockée. Fermez la connexion ensuite. Donc, vous devez réduire une autre commande SQL et l'exécuter.

Quelque chose comme:

Dim Comm2 As Data.SqlClient.SqlCommand 
Dim reader2 as Data.SqlClient.SqlDataReader 

Comm2.CommandType = CommandType.StoredProcedure 
Comm2.Paramaters.AddWithValue("@whateverValue", "Whatever") 

puis juste après avoir ouvert la connexion

reader2 = Comm2.ExecuteReader() 

Ensuite, vous trouverez Lecteur2 a ce que vous voulez, mais vous utilisé la même connexion pour les deux.

+0

Dans la course performance vs maintenabilité de code c'est la meilleure option – NotMe

+0

Thanks Man, est en fait très facile! Merci! – Etienne

+0

@Etienne - Pas de problème, content d'avoir pu aider –

Questions connexes