View Full Version : [Q] Chỉ kết nối 1 lần trong website trong aspx
NgocHien
28-06-2003, 12:29
Các anh cho em hỏi.
Ví dụ trong asp.net em có 1 trang chính, các trang con được include vào trang chính theo từng điều kiện
nhưng cứ mỗi lần dùng truy vấn thì phải kết nối với database, làm sao ta chỉ cần kết nối và Open nó 1 lần thôi
Nghĩa là làm 1 trang header cho kết nối và cho Open
Làm trang Footer Close database
Giống như tong asp thường dzậy đó
Ai làm được rồi làm ơn chỉ cho em dzới, hép hép mi !!
White_Rose
28-06-2003, 16:22
Sử dụng biến cấp Session, thậm chí là Application cho object connection.
NgocHien
29-06-2003, 12:20
Anh có thể nói cụ thể hơn được không ?, anh gởi cho em 1 ví dụ về cái này nha.
Gởi cho em theo địa chỉ email: vietnamhighland@yahoo.com
Cảm ơn anh nhiều, thật nhiều...
Có gì anh gửi cho em luôn nhé: boy_behind_glasses@yahoo.com
White_Rose
29-06-2003, 23:32
Bạn đặt đoạn code sau vào trong Page_Load
if(Application("connexist")!=null)
{
Application.Lock();
Application("conn") = new OleDbConnection("...");
Application("connexist") = 1;
Application.Unlock();
conn = (OleDbConnection)Application("conn");
}
else
{
conn = (OleDbConnection)Application("conn");
}
Dùng file web.config, khi cần sửa tên database hay tên server trong chuỗi connect không cần phải biên dịch lại.
Trong file web.config:
...
<system.web>
...
</system.web>
<!--Dat chuoi ket noi o day-->
<appSettings>
<add key="strConnect" value="data source=localhost; user id=user; password=abc; initial catalog=DBName; connect timeout=30;" />
</appSettings>
<!-------------End--------------->
...
user và password tùy trong database set
Viết một lớp đề lấy chuỗi connect, lớp này sẽ xài chung cho toàn ứng dụng khi cần truy xuất đến database
Imports System.Data
Imports System.Data.SqlClient
Public Class CConnection
'Global connection
Public Connection As SqlConnection
Public Sub New()
Connection = New SqlConnection(GetStringConnect)
End Sub
Public Function GetStringConnect() As String
Return ConfigurationSettings.AppSettings("strConnect")
End Function
Public Sub Dispose()
Connection.Dispose()
End Sub
End Class
Trong các trang cần truy cập đến database:
Dim objCnn As New CConnection
strCnn = objCnn.Connection
Cách này rất chuyên nghiệp, đây cũng là mô hình 3 lớp trong lập trình .NET
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.