Pracuję z witryną asp.net, która korzysta z wielu wbudowanych zapytań SQL ... i zastanawiam się, czy najlepiej jest utworzyć zapytania śródliniowe w locie:Sprawdzone procedury dotyczące zapytań SQL Inline
int i = 500;
using (SqlConnection conn = new SqlConnection(connStr))
{
SqlCommand com = new SqlCommand(conn);
...
com.CommandText = "select from table where column < @parameter";
...
}
Albo mieć klasę do przechowywania wszystkich zapytań potrzebnych do aplikacji. Coś takiego:
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;
}
}
Dziękujemy!
Jeśli zdecydujesz się na podejście dwukierunkowe nr 2, proponuję utworzyć słownik zindeksowany według nazw zapytań zawierających kod SQL. Następnie można użyć inicjatora słownika, aby wyświetlić listę wszystkich zapytań w sposób przypominający tabelę w kodzie źródłowym. Twoje obecne podejście jest pełne i podatne na kopiowanie i wklejanie błędów (aktualnie jest co najmniej jeden, który zostanie wykryty przez kompilator). 'nowy słownik {{" zapytanie1 "," wybierz * ... "}, {" zapytanie2 "," wybierz * ... "}};' –
Dziękuję wszystkim! Szkoda, że nie mogę wybrać wielu odpowiedzi :( – user1481183