У меня есть этот код для запроса базы данных:
for (int kk = 1; kk < search.Length; kk++)
{
where += " and keyword like '%"+search[kk]+";%'";
OleDbCommand sqlcmd = new OleDbCommand(
"select id,name,address,keyword from table1 where keyword like '%"+search[0]+"%' " +
where + " order by name", sqlconConnection);
sqlcmd.CommandType = CommandType.Text;
OleDbDataReader sdaRes = sqlcmd0.ExecuteReader();
while (sdaRes.Read())
{
thumbnails_id[recordcount] = sdaRes.GetInt32(3);
recordcount++;
}
sdaResult0.Close();
}
Когда я выполняю этот запрос в доступе, он возвращает результат, но когда я запускаю его в приложении, он запускается, но не показывает никакого результата.
Структура таблицы:
Таблица БД выглядит так:
id name keyword File Fkey
1 a yellow; c:/ 20
2 a blue; c:/ 20
3 a Pinky; c:/ 20
4 b blue; c:/ 21
5 b Redish; c:/ 21
6 c yellow; c:/ 22
7 c blue; c:/ 22
8 c Pinky; c:/ 22
9 c orange; c:/ 22
10 c Redish; c:/ 22
что значит поисковый запрос:
select * from this table1 where name like variable and variable two and variable three
и т. Д. Таким образом, когда пользовательский тип предполагает, что оранжевый, все результаты должны прийти, тогда, когда пользователь вводит после оранжевого Pinky, тогда должны появляться оранжевые и розовые результаты. но я не знаю, что не так в коде, хотя я не получаю сообщение об ошибке или предупреждение.