C# 如何使用c将unicode字符串插入sql server#

C# 如何使用c将unicode字符串插入sql server#,c#,asp.net,sql-server,unicode,C#,Asp.net,Sql Server,Unicode,您好,我有一个sql字符串,希望在其中向sql server插入数据,当我添加@value之类的值时如何使用N SqlCommand cmd = new SqlCommand("Insert into News (News,title) values (@news,@title)", conn); string news = TextBox1.Text; string title = TextBox2.Text; cmd.Parameters.AddWithValue(@"news", new

您好,我有一个sql字符串,希望在其中向sql server插入数据,当我添加@value之类的值时如何使用
N

SqlCommand cmd = new SqlCommand("Insert into News (News,title) values (@news,@title)", conn);
string news = TextBox1.Text;
string title = TextBox2.Text;

cmd.Parameters.AddWithValue(@"news", news);
cmd.Parameters.AddWithValue(@"title", title);

代码似乎很好-不,在这种情况下,您不需要在任何地方使用N前缀(仅当您在Management Studio中编写字符串文字时)

唯一需要研究的可能是显式指定参数类型:

cmd.Parameters.Add("@news", SqlDbType.NVarChar, 100).Value = news;
cmd.Parameters.Add("@title", SqlDbType.NVarChar, 100).Value = title;

但是通常情况下,ADO.NET非常擅长猜测正确的数据类型,特别是因为.NET字符串实际上已经是Unicode了。

您不需要使用
N
。Hpw这样做吗?我添加了非英语字符串您是否尝试过不使用
N
?您在
News
表中的列是什么数据类型?