如何从c# ASP发送希伯来文本到SQL Server ?网络参数?



words_array[i]为希伯来文时,数据库显示'?????'代替该词。

myCommand.CommandText = "INSERT INTO MyTable(word) VALUES (@word);
myCommand.Parameters.Add(new SqlParameter("@word", SqlDbType.Varchar, 50));
command.Parameters["@word"].Value = words_array[i];

我在下面尝试,但是得到一个错误:

错误语法附近"N">

我的尝试:

myCommand.CommandText = "INSERT INTO MyTable(word) VALUES (N'@word'N);

我也试过这个——问题是:把文本"@word"放在希伯来语单词的位置。

myCommand.CommandText = "INSERT INTO MyTable(word) VALUES (N'@word');

SqlDbType.VarChar改为SqlDbType.NVarChar。当使用参数化查询时,不需要给字符串加上前缀。

行:

myCommand.Parameters.Add(new SqlParameter("@word",SqlDbType.VarChar,50));

表示参数的类型是使用单字节代码页而不是Unicode字符串的字符串。. net中的字符串是Unicode,但这一行告诉驱动程序使用线程的CurrentCultureInfo指定的代码页将值转换为单字节编码。

应该是

myCommand.Parameters.Add(new SqlParameter("@word",SqlDbType.NVarChar,50));

相关内容

  • 没有找到相关文章

最新更新