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客户端驱动程序已损坏,需重新安装。一切只能等忙完任务后再确定真相了。
感谢【恒星的恒心】大大的提醒。
如果有朋友们碰到过类似的情况,请留言赐教,非常感谢!