ADO.NET的数据表DataTable在填充数据时第316行记录开始出现乱码【〱〱ㄲ〰〰㠶】.....

ORACLE9.2数据库,

.NET2003,

数据采用OracleDataAdapter的Fill方法填充,被查询字段的值全部由数字组成的字符串,无任何中文字符。sql查询语句为:"SELECT DISTINCT propertylsh FROM t_property_doc WHERE JCFLOWNAME='受理' AND propertylsh NOT IN (SELECT propertylsh FROM t_property_doc WHERE JCFLOWNAME='办结')"。查询结果从第316行记录开始全部为乱码,如图:

乱码:〱〱ㄲ〰〰㠶

 

暂时的解决方法,修改SQL语句在字段名称前加TO_CHAR函数转换,程序中再PadLeft()方法补齐截掉的‘0’,解决结果如图:

 

但记录数较多时第746行又出现乱码了: 

 

深层原因,正在分析中.........

目前问题已解决,初步分析原因:可能是使用了 using System.Data.OracleClient;,更换为using System.Data.OleDb,则问题解决。怀疑使用System.Data.OracleClient时,ORACLE客户端驱动程序的版本9.2.1与数据库版本8.1.7之间有不兼容,或者ORACLE客户端驱动程序已损坏,需重新安装。一切只能等忙完任务后再确定真相了

 

感谢【恒星的恒心】大大的提醒

 

如果有朋友们碰到过类似的情况,请留言赐教,非常感谢!

posted @ 2010-02-08 17:31  yisx  阅读(640)  评论(2编辑  收藏  举报