我在sql server 2000数据库中,有 Table1 数据表,name字段属性为 nvarchar,用c#写了如下代码,发现无法将指定记录修改为阿拉伯文,变为问号了!但是,将sql中的SQL语句粘贴到sql server 的查询分析器中,却能正确的修改为阿拉伯文。请高手指点一下,如何解决该问题呢?
ps:我也尝试使用 SqlParameter 的方法,问题依旧!
有关代码:
string sql = "update Table1 set name = N'阿拉伯语字符' where ID = '1'";//未采用SqlParameter
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "......................";//连接字符串,不详细写了。。数据库是SQL 2000
SqlCommand cmd = new SqlCommand(sql, conn);
try
{
conn.Open();
return(cmd.ExecuteNonQuery());
}
catch (Exception)
{
return -1;
throw;
}
finally
{
conn.Close();
}
只有使用了阿拉伯语字符时出现这样的情况么?其他的表使用阿拉伯语字符也不正常么?是编译时出问题了吧
还是用SqlParameter吧
SqlCommand cmd = newSqlCommand("update Table1 set name = @MYTEXT", myConnection); cmd.Parameters.Add(newSqlParameter("@MYTEXT",SqlDbType.NVarChar)).Value="阿拉伯字母"; cmd.ExecuteNonQuery();