delphi调用SQL Server存储过程后,新增第一条记录成功,在新增第二条记录时候会错误??

gxlxxiaojun 2005-01-06 10:45:29
ADOStoredProc1.Close;
ADOStoredProc1.ProcedureName:='P_Add';
ADOStoredProc1.Parameters.Refresh;
ADOStoredProc1.Parameters[1].value:=edit1.Text;
ADOStoredProc1.Parameters[2].value:=edit2.Text;
ADOStoredProc1.Parameters[3].value:=edit3.Text;
ADOStoredProc1.Prepared;
sp1.ExecProc;
第一次保存记录成功,第二次出错提示如下:
Project Project1.exe raised exception class EAccessViolation with message'Access violation at address 00480138 in module' Project1.exe'.Read of address 0000009D'.Process stopped. Use Step or Run to continue.
怎么解决???
...全文
114 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kshape 2005-01-07
  • 打赏
  • 举报
回复
按意思就是说你访问了非法地址
是不是你query的操作数据库出了问题
或者有东西没有正常关闭、释放?
nicebee 2005-01-07
  • 打赏
  • 举报
回复
感觉是在第二次执行前,资源没有释放造成的。
billydong 2005-01-07
  • 打赏
  • 举报
回复
检查一下是否没有创建就使用该资源,或是释放后又使用
under 2005-01-06
  • 打赏
  • 举报
回复
把所有代码都贴出来啊
under 2005-01-06
  • 打赏
  • 举报
回复
ADOStoredProc1.Close;
ADOStoredProc1.ProcedureName:='P_Add;1';//主意此句
ADOStoredProc1.Parameters.Refresh;
ADOStoredProc1.Parameters[1].value:=edit1.Text;
ADOStoredProc1.Parameters[2].value:=edit2.Text;
ADOStoredProc1.Parameters[3].value:=edit3.Text;
ADOStoredProc1.Prepared;
sp1.ExecProc;
ourshow 2005-01-06
  • 打赏
  • 举报
回复
表的结构呢
dzt1 2005-01-06
  • 打赏
  • 举报
回复
考虑是不是主键冲突
Sorder 2005-01-06
  • 打赏
  • 举报
回复
根据错误显示好像不是数据库方面的错误引发的,而是Delphi本身引发的,很可能是某些资源引用错误
,比如没有创建的对象就使用了该对象,造成对象的地址不能正确访问,你最好调试一下在那一条记录出错的
Project Project1.exe raised exception class EAccessViolation with message'Access violation at address 00480138 in module' Project1.exe'.Read of address 0000009D'.Process stopped. Use Step or Run to continue.

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧