0

将乌尔都语文本插入 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();
4

1 回答 1

3

放置N在字符串文字之前会使它们在 SQL Server 中成为 unicode。你可以这样做:

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

但这很容易受到 SQL 注入攻击。请使用也可以处理 unicode 的参数化查询。像这样:

string Query = "Select vendor.VendorID from vendor where vendor.Vendor_Name =@Name";
//...
SDA.SelectCommand.Parameters.AddWithValue("@Name", textBox4.Text);
于 2019-10-12T06:44:44.643 回答