我正在使用一个使用大量内联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