Вот код для функции слоя базы данных:
public static dsPersonnel GetPersonnel(string Database, string strSearch)
{
dsPersonnel DS;
OleDbConnection sqlConn;
OleDbDataAdapter sqlDA;
//create the connection string
sqlConn = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + Database);
string query;
if (strSearch == "" || strSearch.Trim().Length == 0)
{
query = "SELECT * from tblPersonnel";
}
else
{
query = "SELECT * FROM tblPersonnel WHERE LastName = " + strSearch + "";
}
//create the adapter with query
sqlDA = new OleDbDataAdapter(query, sqlConn);
//create the dataset
DS = new dsPersonnel();
//fill the data set
sqlDA.Fill(DS.tblPersonnel);
//return the dataset
return DS;
}
}
, если постбэк отправляет пустую строку, он возвращает все записи.но когда в функцию передается настоящая строка, я получаю сообщение об ошибке «для одного или нескольких обязательных параметров не задано значение».для строки
sqlDA.Fill(DS.tblPersonnel);
В отладке я проверил, что строка строится правильно для обоих случаев, но я получаю ошибку с последним. Я понимаю, что должен использовать параметризованные запросы , но это шаг в процессе обучения в классе, в котором я учусь.Одна проблема за раз :).Любые предложения о том, что проблема здесь?