在urdu(语言)文本中更新sql server数据库

时间:2015-10-21 18:46:12

标签: c# sql-server

我只是在c#中创建一个windows表单,我可以在其中插入,更新和删除数据。

我想在URDU文本中插入数据。我完成了使用以下代码插入数据:

SqlCommand cmd = new SqlCommand("insert into tblTeams values (@ID, @SchoolName, @TeamName)", con);
cmd.Parameters.AddWithValue("@ID", txtBoxID.Text);
cmd.Parameters.AddWithValue("@SchoolName", txtBoxSName.Text);
cmd.Parameters.AddWithValue("@TeamName", txtBoxTName.Text);

con.Open();
cmd.ExecuteNonQuery();
con.Close();

但是当试图更新数据时没有任何线索如何做到这一点......

SqlDataAdapter sda = new SqlDataAdapter("update tblTeams set SchoolName='"+txtBoxSName.Text+"',TeamName='"+txtBoxTName.Text+"'where ID='"+txtBoxID.Text+"' ", con); 

con.Open();
sda.SelectCommand.ExecuteNonQuery();
con.Close();

上面的代码更新数据库但不在URDU中,仅在数据库中更新" ?????"示...

在SQL server中,所有插入,更新和删除都有效,但我想在前端进行...

表格设计也附有...... enter image description here

提前致谢!

2 个答案:

答案 0 :(得分:0)

也完成更新并感谢您的支持...... 这是代码:

SqlCommand cmd = new SqlCommand("update tblTeams set SchoolName=@SchoolName, TeamName=@TeamName where ID=@ID ", con);
cmd.Parameters.AddWithValue("@ID", txtBoxID.Text);
cmd.Parameters.AddWithValue("@SchoolName", txtBoxSName.Text);
cmd.Parameters.AddWithValue("@TeamName", txtBoxTName.Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();

答案 1 :(得分:-1)

  1. 这很有可能发生,因为您的列不支持Unicode。您需要在列中使用nvarcharnchar

  2. 或者,您的TextBox不支持unicode文字。尝试使用其他字体,例如Arial。

  3. 请勿使用不带参数的更新代码。它容易受到SQL注入攻击。相反,在两者中使用参数,就像在第一个中一样。

  4. 最后,您可以使用N'urdutexthere'为插入值添加前缀,如下所示:

    SqlCommand cmd = new SqlCommand("UPDATE tblTeams SET SchoolName=N'@SchoolName',TeamName=N'@TeamName' WHERE ID='@ID'", con);
    cmd.Parameters.AddWithValue("@ID", txtBoxID.Text);
    cmd.Parameters.AddWithValue("@SchoolName", txtBoxSName.Text);
    cmd.Parameters.AddWithValue("@TeamName", txtBoxTName.Text);
    
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();