我正在使用一個使用大量內聯SQL查詢的asp.net網站......並且我想知道是否最好在運行時創建內聯查詢:內聯SQL查詢的最佳實踐
int i = 500;
using (SqlConnection conn = new SqlConnection(connStr))
{
SqlCommand com = new SqlCommand(conn);
...
com.CommandText = "select from table where column < @parameter";
...
}
或有一個類來保存應用程序所需的所有查詢。類似這樣的:
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;
}
}
謝謝!
如果您決定採用間接方法編號2,那麼我會建議創建一個由包含SQL的查詢名稱索引的字典。然後,您可以使用字典初始值設定程序在源代碼中以類似於表格的方式列出所有查詢。你目前的方法是冗長的,容易出現複製粘貼錯誤(目前至少有一個將被編譯器發現)。 'new Dictionary {{「query1」,「select * ...」},{「query2」,「select * ...」}};' –
謝謝大家!太糟糕了,我不能選擇多個答案:( – user1481183