关于MS SQL的疑问
各位大神,我最近在写一个小程序,遇到一个很纠结的问题。
起初的原因是这样的,我有一张表,是用MS SQL2000的,通过微信的订阅号往里面录入人员名单的时候,老是录不进去。后来,发现,要是人名是
2个汉字的话,是可以
成功录入的,如果人名是
3个汉字的话,就
录入失败。这是我要解决的核心问题,希望各位大神不吝赐教。对了,字段格式是Text,我试过,改为varchar,字段长50,好像也不行。
还有,我想知道,有什么SQL语句可以查看数据库编码方式的,希望大家讲讲。
------解决方案--------------------因为你存储的是汉字,所以建议用ntext类型,这个类型是专门存储多字节数据的。
------解决方案--------------------你用Profiler抓一下底层插入的SQL,贴出来看看,如果是text类型不应该不行的,实在不行就换ntext,然后再插入
------解决方案--------------------插入过程用insert into xxx values(N'内容')这样的格式
------解决方案--------------------数据库不会有问题,应该是程序层面的问题。看下变量的长度定义。
如果怀疑是数据库问题,可以截出SQL语句直接在查询分析器里执行看效果。
------解决方案--------------------应该跟数据库没有关系。看看你的程序吧
------解决方案--------------------程序里面是不是把
换行符 或者
空格 算进去,按道理varchar(50)不可能容不下三个汉字
------解决方案--------------------
估计是你参数化赋值的时候截断的
你看看你怎么赋值的
//SqlParameter parameter = new SqlParameter("@Cloumn1", SqlDbType.VarChar,长度);
------解决方案--------------------有没有用到自定义函数什么的,参数未指定长度导致自动截取