Я пытаюсь выполнить поиск в таблице в моей базе данных, где он возвращает первые 50 строк с именем, таким как поисковый термин, переданный в функцию, но он всегда возвращает те же 50 результатов
Мой sql выглядит следующим образом:
Select TOP(50) *
FROM [database].[dbo].[records]
WHERE (A_1STNAME LIKE '" + @searchTerm + "%')
ORDER BY A_RECID
Когда я запускаю этот запрос в окне запросов Visual Studios, он работает как положено, но когда я запускаю его через приложение ASP.NET, он всегда возвращает те же 50 результатов.и только у одного из них есть имя, близкое к searchTerm, который я ему передал.
вот код страницы, который выполняет функцию:
protected void Page_Load(object sender, EventArgs e)
{
_migrated_data data = new _migrated_data();
DataSet ds = data.Search(Request.QueryString.Get("query"), "A_RECID", 50);
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
rpt_Data.DataSource = ds.Tables[0].DefaultView;
rpt_Data.DataBind();
}
}
и вот метод поискаиз _migrated_data:
public DataSet Search(String @pSearchTerm, String @pSortBy, int @pRowCount)
{
DataSet ds = new DataSet();
OleDbConnection objOleDBConn;
OleDbDataAdapter objOleDBDa;
objOleDBConn = new OleDbConnection(ClearingHouse_OLEDDB);
objOleDBConn.Open();
string lSQL = "SELECT TOP(50) * FROM [database].[dbo].[records]";
lSQL += " WHERE (A_1STNAME LIKE @searchTerm ) ORDER BY @sortBy";
SqlCommand t = new SqlCommand(lSQL);
if (pSearchTerm != null && pSearchTerm != "")
{
t.Parameters.AddWithValue("@searchTerm", @pSearchTerm + "%");
}
if (pSortBy != null && pSortBy != "")
{
t.Parameters.AddWithValue("@sortBy", @pSortBy);
}
else
{
t.Parameters.AddWithValue("@sortBy", "A_RECID");
}
objOleDBDa = new OleDbDataAdapter(t.CommandText, objOleDBConn);
objOleDBDa.SelectCommand.CommandType = CommandType.Text;
objOleDBDa.Fill(ds);
objOleDBConn.Close();
return ds;
}
Используя локальные ресурсы для просмотра окончательного CommandText из t, я получаю результаты sql, которые я дал выше.
Любая помощь очень ценится :)