D
delphilai
Unregistered / Unconfirmed
GUEST, unregistred user!
我是在简体XP操作系统下Delphi7+ADO2.8+SQL2000开发的程序,经过繁体转换后,在繁体系统下编译,编译后的繁体exe程序,在数据保存的时候,会报错“多步操作产生错误,请检查每一步的状态值”,没有解决方法吗?”错误!恰恰的说是,在“TAdoQuery.FieldByName('***').AsString:=繁体中文字符”后,TADOQuery.Post执行的时候报错!如果是英文数字又可以保存,当然,如是简体中文字符会是乱码。<br>同样的程序,我在简体下运行很OK!在繁体下就不行。因为每个模块都是这样,为了测试方便,我测试的SQL数据库表很简单,就2个字段,都是Varchar(50)类型(我还试过用NVarchar(50)类型),我的TADOQuery的对应字段TField类型为TStringField(我还试过用TWideStringField类型),在TADOQuery.Post的时候会报“多步操作产生错误,请检查每一步的状态值”错误。<br>有一种情况不会报错:<br>(一)SQL表字段类型为Varchar(50)、TADOQuery字段类型为TStringField时,可以运行通过,数据可以保存成功,在界面显示也正常(为繁体中文字符),但在数据库里,我在企业管理器打开那个表,确是乱码。<br>另外三种情况:<br>(二)SQL表字段类型为NVarchar(50)+TADOQuery字段类型为TStringField<br>(三)SQL表字段类型为Varchar(50)、TADOQuery字段类型为TWideStringField<br>(四)SQL表字段类型为NVarchar(50)、TADOQuery字段类型为TWideStringField<br>都是报“多步操作产生错误,请检查每一步的状态值”错误。<br>这几种情况,我在简体系统下运行都没问题,软件界面和数据库都可以正常显示和保存。<br>我在网上搜索了该错误提示,很多类似的帖子,但竟然没有一篇有正确的解决方案的!<br>有谁遇到这个问题的?这问题真的那么难吗?没人懂吗?是ADO的兼容性问题还是简繁体兼容性问题?<br>急死我了!<br>欲哭无泪!