PDA

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ận
29-06-2003, 20:01
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");
}

1011
01-07-2003, 11:10
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