各位大侠:
小弟遇到一个问题,望各位大侠帮忙解决,小弟不胜感激。
小弟用Delphi6+Access2000开发了一个小型的管理系统,现在在客户那里使用有半年多了,最近经常反映系统有问题,小弟让客户把数据库文件发了过来,查看后发现有两次是数据库中的数据丢失了。一次一个表丢失了2条数据,另一次一个表中的所有数据都不见了,管理系统再对这个表执行insert操作,报如下错误Access violation at address 1B008A00 in module 'msjet40.dll', Read of address 00000000.下面是我的数据库操作语句DbName := ExtractFileDir(Application.ExeName) + '\Test.dat';
ADOExec.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DBName+';Persist Security Info=False;Jet OLEDB:Database Password="rfcmm";'; //保存用户基本信息
SQL.Text := 'insert into TB_CONSUMER values(:id,:name,:sex,:metertype,'
+ ':cardtype,:areatype,:phone,:number,:address,:order,:status,'
+ ':datetime,:opername,:memo)';
Parameters.ParamByName('id').Value := StrToInt(Trim(edtUserID.Text));
Parameters.ParamByName('name').Value := Trim(edtUserName.Text);
Parameters.ParamByName('sex').Value := Trim(cbSex.Text);
Parameters.ParamByName('metertype').Value := Trim(cbMeterType.Text);
Parameters.ParamByName('cardtype').Value := Trim(cbCardType.Text);
Parameters.ParamByName('areatype').Value := Trim(cbAreaType.Text);
Parameters.ParamByName('phone').Value := Trim(edtPhone.Text);
Parameters.ParamByName('number').Value := Trim(edtNumber.Text);
Parameters.ParamByName('address').Value := Trim(edtAddress.Text);
Parameters.ParamByName('order').Value := 1;
Parameters.ParamByName('status').Value := 0;
Parameters.ParamByName('datetime').Value := FormatDateTime('yyyy-mm-dd', now);
Parameters.ParamByName('opername').Value := CurrOper.OperName;
Parameters.ParamByName('memo').Value := Trim(edtMemo.Text);
ExecSQL;
请各位大哥大姐帮忙啊,小弟新手,请多多指教。
小弟遇到一个问题,望各位大侠帮忙解决,小弟不胜感激。
小弟用Delphi6+Access2000开发了一个小型的管理系统,现在在客户那里使用有半年多了,最近经常反映系统有问题,小弟让客户把数据库文件发了过来,查看后发现有两次是数据库中的数据丢失了。一次一个表丢失了2条数据,另一次一个表中的所有数据都不见了,管理系统再对这个表执行insert操作,报如下错误Access violation at address 1B008A00 in module 'msjet40.dll', Read of address 00000000.下面是我的数据库操作语句DbName := ExtractFileDir(Application.ExeName) + '\Test.dat';
ADOExec.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DBName+';Persist Security Info=False;Jet OLEDB:Database Password="rfcmm";'; //保存用户基本信息
SQL.Text := 'insert into TB_CONSUMER values(:id,:name,:sex,:metertype,'
+ ':cardtype,:areatype,:phone,:number,:address,:order,:status,'
+ ':datetime,:opername,:memo)';
Parameters.ParamByName('id').Value := StrToInt(Trim(edtUserID.Text));
Parameters.ParamByName('name').Value := Trim(edtUserName.Text);
Parameters.ParamByName('sex').Value := Trim(cbSex.Text);
Parameters.ParamByName('metertype').Value := Trim(cbMeterType.Text);
Parameters.ParamByName('cardtype').Value := Trim(cbCardType.Text);
Parameters.ParamByName('areatype').Value := Trim(cbAreaType.Text);
Parameters.ParamByName('phone').Value := Trim(edtPhone.Text);
Parameters.ParamByName('number').Value := Trim(edtNumber.Text);
Parameters.ParamByName('address').Value := Trim(edtAddress.Text);
Parameters.ParamByName('order').Value := 1;
Parameters.ParamByName('status').Value := 0;
Parameters.ParamByName('datetime').Value := FormatDateTime('yyyy-mm-dd', now);
Parameters.ParamByName('opername').Value := CurrOper.OperName;
Parameters.ParamByName('memo').Value := Trim(edtMemo.Text);
ExecSQL;
请各位大哥大姐帮忙啊,小弟新手,请多多指教。
解决方案 »
- delphi7里怎么没找到datasource 控件?
- 这个VB的一点函数,delphi怎么写?
- 请问如果将花生壳或7I24等二级动态域名解析为IP
- 请教高手关于数据库锁定的问题
- 知道IE缓存里面的一个地址,如何得知这个地址对应哪个文件?
- 如何截获Windows消息???
- 想学习Acdsee的原理,谁有类似的源码?可以给一个吗?(限Delphi)
- 求助,数值算法的问题。
- 我要删除GROUPBOX里动态创建的数个GROUPBOX,用下面的方法为什么不行?
- delphi中的Hashing算法(赠桂花鸭一只)
- CXgrid明细嵌套问题
- 如何修改Rave的源码,RvData.pas的function CreateFieldName(DataViewName: string;函数?谢谢
出问题后我再执行insert操作时,报Access violation at address 1B008A00 in module 'msjet40.dll', Read of address 00000000错误,会是什么问题那?
PS 一个对象要想Create然后才能使用,楼主检查下,另外楼主是用了DLL,在DLL中可能会出项各种莫名其妙的问题,给个资料 楼主参考下
msjet40.dll是系统DLL,JET数据库引擎的修复数据库吧
你在insert之前还有什么操作吗,检查一下其余的代码