Как искать текст урду в SQL Server? - PullRequest
0 голосов
/ 12 октября 2019

Нет проблем с вставкой текста урду в SQL Server, но у меня проблема с поиском текста урду - я продолжаю получать:

0 rows effect

и текст (который я хочу найти) уже находится вБаза данных SQL Server.

Это мой код:

con.Open();

string Query = "Select vendor.VendorID from vendor where vendor.Vendor_Name ='" + textBox4.Text + "'";

SqlDataAdapter SDA = new SqlDataAdapter(Query, con);
DataTable dt = new DataTable();
SDA.Fill(dt);

vend_id = (dt.Rows[0][0]).ToString();
con.Close();

1 Ответ

2 голосов
/ 12 октября 2019

Размещение N перед строковыми литералами делает их Unicode в SQL Server. Вы можете сделать это следующим образом:

string Query = "Select vendor.VendorID from vendor where vendor.Vendor_Name =N'" + textBox4.Text + "'";

Но это подвержено атакам SQL-инъекций. Пожалуйста, используйте параметризованные запросы, которые также будут обрабатывать юникод. Как это:

string Query = "Select vendor.VendorID from vendor where vendor.Vendor_Name =@Name";
//...
SDA.SelectCommand.Parameters.AddWithValue("@Name", textBox4.Text);
...