如何通过SQL的insert语句项数据表中添加中文记录

ycyin 2005-12-09 06:30:27
我有一个unicode的数据库,需要通过Delphi的TADOCommand对象执行SQL的insert语句向表中添加数据,语句中有中文字符。已经在Delphi程序中将SQL语句转换成WideString类型字符串,并且在程序执行过程中通过SQL Profiler观察SQL语句,也没有发现异常。但是当我用select语句总表中选择插入的数据时中文字符就变成了问号:(

SQL Profiler中看到的结果如下:
declare @P1 int
set @P1=1
exec sp_prepare @P1 output, NULL, N'insert into KD_USERDEFN values(''abc'',''900150983cd24fb0d6963f7d28e17f72'',''一二三'', ''N'')', 1
select @P1

注:表的字段类型为nvarchar

请教一下如何处理这种中文字符的问题。谢谢。
...全文
230 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycyin 2005-12-10
  • 打赏
  • 举报
回复
直接在Query Analyzer中执行insert语句也是出现问号。

按照一刀和牧羊人的建议在中文字符串前面加上“N”以后问题解决了。感谢一刀和牧羊人的帮助。也谢谢鱼排的参与:)
GSXiaoXiao 2005-12-10
  • 打赏
  • 举报
回复
在values的中文字符串前加N, N'一二三'
新鲜鱼排 2005-12-09
  • 打赏
  • 举报
回复
直接插入有问题么??
lw1a2 2005-12-09
  • 打赏
  • 举报
回复
直接执行那个insert语句没问题?

exec sp_prepare @P1 output, NULL, N'insert into KD_USERDEFN values(''abc'',''900150983cd24fb0d6963f7d28e17f72'',N''一二三'', ''N'')', 1

这样呢?

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧