Я создаю настольное приложение, используя C# и SQL Server 2014. В моем SqlDataAdapter
запрос SQL не работает после передачи объединенной строки в качестве переменной. Если я пишу запросы в виде прямой строки - все работало нормально. Но ввод 100+ меток вручную - это идиотизм. Я пока не могу понять - что не так с моим кодом?
// block 17. created for splitting unique word from whole user tag text and searching with this tags in database; it returns a unique word!
String Input = search.Text;
Input = Input + " ";
String[] Word_Box = new String[1000];
String Word = "";
int T = 0, Len;
Len = Input.Length;
bool flag = false;
for (int i = 0; i < Len; i++)
{
if (Input[i] != ' ')
{
Word = Word + Input[i];
flag = true;
}
else if (Input[i] == ' ' && flag == true)
{
Word_Box[T++] = Word;
Word = "";
flag = false;
}
}
// block end
// block 18. start for adjusting SQL query string for searching purpose :)
String Query_String;
Query_String = "select * from Tbl_Test3 where";
int WordCount = T - 2;
for (int i = 0; i < T; i++)
{
Query_String = Query_String + " Tags like '%\"+ \""+ Word_Box[i] +"\" + \"%' ";
if (i <= WordCount)
{
Query_String += "OR ";
}
}
// block end
con.Open();
//Query_String = "select * from Tbl_FinalTest3 where Tags like '%"+ "Codeforces" + "%' OR Tags like '%"+ "Topcoder" + "%' ";
SqlDataAdapter adpt = new SqlDataAdapter(Query_String, con);
DataTable dt = new DataTable();
adpt.Fill(dt);
dataGridView1.DataSource = dt;
con.Close();
Ошибка не отображается, и после выполнения в datagridview не отображаются никакие данные, где тот же вывод прямой строки отображается идеально. .
У меня нет сомнений в этой строке, тогда что не так?
Query_String = Query_String + " Tags like '%\"+ \""+ Word_Box[i] +"\" + \"%' ";
Спасибо :)