我有一个关于将字符串插入 SQL Server 2008 R2 的问题。当我尝试插入带有一些国家/地区字母的字符串时,我收到“?”反而。
我知道添加N
在字符串文字的开头可以解决这个问题,但我使用的是 JDBC 准备好的语句,如下所示:
INSERT INTO MyTable(col1, col2) VALUES (?,?);
我的问题是:如何添加这个“N”字母?我应该做这样的事情吗?
INSERT INTO MyTable(col1, col2) VALUES (N?,N?);
老实说我不相信,因为这根本不起作用。
根据 @a_horse_with_no_name 和 @gofr1 撰写的评论,有 2 个解决方案:
Change sendStringParametersAsUnicode
- 这导致所有字符串将被视为“N”字符串(这是全局更改)
Use PreparedStatement.setNString()
代替setString()
- 这是“局部”变化。
两者都有效 - 使用更适合您的需求:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)