黑马程序员技术交流社区
标题:
SQL差入行的问题
[打印本页]
作者:
海继峥
时间:
2012-4-25 13:51
标题:
SQL差入行的问题
insert into Table_1(Name,Age) values ('赵六',34);
执行这句话为什么会有赵六在表中显示为??,照着视频做的一般还是那样。着为什么怎么改?
作者:
张林春
时间:
2012-4-25 14:08
name nvarchar(10), 你的name列是这样设置的么,还有那个Sql后面的分号去掉试一下。。
作者:
海继峥
时间:
2012-4-25 14:25
为什么在表里可以直接改成赵六 ,而用语句就不能添加? 要是不能添加的话表里也应该不能添加吧?但是事实是可以啊。
能给我解释下吗?只是因为数据类型的原因吗?
作者:
张林春
时间:
2012-4-25 14:41
UTF-8编码的内容存入SQL SERVER数据库中的时候,要存储的字段必须设置为NVARCHAR类型,
SQL语句要在内容前加N表示,如insert into user (name) values (N&username&)
如果不使用 N 前缀,字符串将转换为数据库的默认代码页。这可能导致不识别某些字符。
作者:
蒋敦方
时间:
2012-4-25 14:44
把数据类型改一下就okl了~~! Name 的类型改成 nvarchar(50) 就不会出现那样的问题了!
你直接在表里添加的话,应该是系统给你封装了,所以不会报错!但是运行的话还是会出错的。
作者:
刘建法
时间:
2012-4-25 15:09
insert into Table_1(Name,Age) values (N'赵六',34);
这样试一下,一般字符串前面要加上N的默认uTF-8编码的
作者:
许庭洲
时间:
2012-4-27 09:10
本帖最后由 许庭洲 于 2012-4-27 09:12 编辑
应该是数据库内Table_1表的Name字段类型有问题,把Name字段类型修改为nvarchar(8)试试看,希望对你有帮助!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2