首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于支持多语言录入的疑惑!解决方法

2012-02-14 
关于支持多语言录入的疑惑!现在我的数据库表内要求存储多语言,就是可以录入中文,韩文,俄文,德文。。。我的表

关于支持多语言录入的疑惑!
现在我的数据库表内要求存储多语言,就是可以录入中文,韩文,俄文,德文。。。
我的表字段设置nvarchar数据类型,可以支持存入多语言。
在写sql   语句是使用如下脚本:
insert   into   Test(username)   values   (N '张三 ')  在字符串前面加关键字N即可
但是我使用如下方式就不可以
declare   @username   nvarchar(10)
insert   into   Test(username)   values(N@username)  
出现SQL错误 请问为什么呢

[解决办法]
declare @username nvarchar(10)
--insert into Test(username) values(N@username)
insert into Test(username) values(@username)

[解决办法]
现在我的数据库表内要求存储多语言,就是可以录入中文,韩文,俄文,德文。。。
我的表字段设置nvarchar数据类型,可以支持存入多语言。
在写sql 语句是使用如下脚本:
insert into Test(username) values (N '张三 ')  在字符串前面加关键字N即可
但是我使用如下方式就不可以
declare @username nvarchar(10)
insert into Test(username) values(N@username)
出现SQL错误 请问为什么呢
--插入
insert into Test(username) values(@username)
--查询
select * from test where username = N '张三 '
[解决办法]
不用加N,系统会进行隐式转换。
[解决办法]
declare @username nvarchar(10) ---请看你定义的类型
---插入
insert into Test(username) values(@username)
/*OR*/ insert into Test(username) select @username
[解决办法]
Declare @Test Table(id int identity(1,1),username nvarchar(10))
Insert @Test Select N '李四 '
-----------------------------
declare @username nvarchar(10) ---请看你定义的类型
---插入
Set @username=N '张三 '
insert into @Test(username) values(@username)
/*OR*/ insert into @Test(username) select @username
-----------------------------
---查询结果
select * from @Test
select * from @Test Where username=N '张三 '

---结果
/*
id username
----------- ----------
1 李四
2 张三
3 张三

(所影响的行数为 3 行)

id username
----------- ----------
2 张三
3 张三

(所影响的行数为 2 行)
*/

热点排行