关于支持多语言录入的疑惑!
现在我的数据库表内要求存储多语言,就是可以录入中文,韩文,俄文,德文。。。 
 我的表字段设置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 行) 
 */