关于MS SQL的疑问

heartlc 2014-01-26 11:51:40
各位大神,我最近在写一个小程序,遇到一个很纠结的问题。
起初的原因是这样的,我有一张表,是用MS SQL2000的,通过微信的订阅号往里面录入人员名单的时候,老是录不进去。后来,发现,要是人名是2个汉字的话,是可以成功录入的,如果人名是3个汉字的话,就录入失败。这是我要解决的核心问题,希望各位大神不吝赐教。对了,字段格式是Text,我试过,改为varchar,字段长50,好像也不行。
还有,我想知道,有什么SQL语句可以查看数据库编码方式的,希望大家讲讲。
...全文
188 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
heartlc 2014-03-23
  • 打赏
  • 举报
回复
已解决,是编码问题。
熊猫王子 2014-01-28
  • 打赏
  • 举报
回复
有没有用到自定义函数什么的,参数未指定长度导致自动截取
fengxiaohan211 2014-01-27
  • 打赏
  • 举报
回复
应该跟数据库没有关系。看看你的程序吧
guguda2008 2014-01-27
  • 打赏
  • 举报
回复
数据库不会有问题,应该是程序层面的问题。看下变量的长度定义。 如果怀疑是数据库问题,可以截出SQL语句直接在查询分析器里执行看效果。
發糞塗牆 2014-01-27
  • 打赏
  • 举报
回复
插入过程用insert into xxx values(N'内容')这样的格式
發糞塗牆 2014-01-27
  • 打赏
  • 举报
回复
你用Profiler抓一下底层插入的SQL,贴出来看看,如果是text类型不应该不行的,实在不行就换ntext,然后再插入
  • 打赏
  • 举报
回复
因为你存储的是汉字,所以建议用ntext类型,这个类型是专门存储多字节数据的。
专注or全面 2014-01-27
  • 打赏
  • 举报
回复
引用 7 楼 heartlc 的回复:
[quote=引用 4 楼 guguda2008 的回复:] 数据库不会有问题,应该是程序层面的问题。看下变量的长度定义。 如果怀疑是数据库问题,可以截出SQL语句直接在查询分析器里执行看效果。
即使我调到nvarchar 100,还是不行[/quote] 估计是你参数化赋值的时候截断的 你看看你怎么赋值的 //SqlParameter parameter = new SqlParameter("@Cloumn1", SqlDbType.VarChar,长度);
heartlc 2014-01-27
  • 打赏
  • 举报
回复
引用 3 楼 DBA_Huangzj 的回复:
插入过程用insert into xxx values(N'内容')这样的格式
还是不行啊,还是只能插入2个汉字啊! 会不会是编码的原因?
heartlc 2014-01-27
  • 打赏
  • 举报
回复
引用 6 楼 chz415767975 的回复:
程序里面是不是把 换行符 或者 空格 算进去,按道理varchar(50)不可能容不下三个汉字
但是,我用2个汉字,就可以了啊。 都是用户自己输入的。
heartlc 2014-01-27
  • 打赏
  • 举报
回复
引用 4 楼 guguda2008 的回复:
数据库不会有问题,应该是程序层面的问题。看下变量的长度定义。 如果怀疑是数据库问题,可以截出SQL语句直接在查询分析器里执行看效果。
即使我调到nvarchar 100,还是不行
霜寒月冷 2014-01-27
  • 打赏
  • 举报
回复
程序里面是不是把 换行符 或者 空格 算进去,按道理varchar(50)不可能容不下三个汉字

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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