Tôi đang làm việc với trang web asp.net sử dụng rất nhiều truy vấn SQL nội tuyến ... và tôi tự hỏi liệu tốt nhất là tạo truy vấn nội tuyến khi đang bay:Thực hành tốt nhất cho truy vấn SQL nội tuyến
int i = 500;
using (SqlConnection conn = new SqlConnection(connStr))
{
SqlCommand com = new SqlCommand(conn);
...
com.CommandText = "select from table where column < @parameter";
...
}
Hoặc để có một lớp học chứa mọi truy vấn cần thiết cho ứng dụng. Một cái gì đó như thế này:
class SqlQueries
{
private string query1 =
"select * from tblEmployees where EmployeeName = @EmployeeName";
private string query2 =
"select * from tblVacation where EmployeeName = @EmployeeName";
public string Query(string s)
{
string str = string.Empty;
switch (s)
{
case "query1":
str = query1;
break;
case "query2":
str = query2;
break;
}
return str;
}
}
Cảm ơn bạn!
Nếu bạn quyết định sử dụng phương pháp tiếp cận số 2 thì tôi khuyên bạn nên tạo một từ điển được lập chỉ mục bởi các tên truy vấn chứa SQL. Sau đó, bạn có thể sử dụng trình khởi tạo từ điển để liệt kê tất cả truy vấn của mình theo cách gần giống như bảng trong mã nguồn của bạn. Cách tiếp cận hiện tại của bạn là tiết và dễ bị lỗi sao chép-dán (hiện tại có ít nhất một phương pháp đó sẽ được trình biên dịch phát hiện). 'Từ điển mới {{" query1 "," select * ... "}, {" query2 "," select * ... "}};' –
Cảm ơn mọi người! Quá tệ Tôi không thể chọn nhiều câu trả lời: ( – user1481183