用SQL的update更新一个表时,提示“list index out of bounds(0)”错误,
SQL语句为:
With ADOQuery1 do
begin
Close ;
SQL.Clear ;
SQL.Add('update detail set rkf=:yrk') ;
Parameters[0].Value:='是';
ExecSQL ;
end;
SQL语句为:
With ADOQuery1 do
begin
Close ;
SQL.Clear ;
SQL.Add('update detail set rkf=:yrk') ;
Parameters[0].Value:='是';
ExecSQL ;
end;
解决方案 »
- 求可序列化数据集控件!
- 求助DELPHI7.0毕业设计(药品进销存管理系统)价钱好商量~~
- ado连接Ora9的数据读写的循环报错!困惑中!!
- 菜鸟问个问题,treeview的结构如何保存为xml文件,并可以从xml文件中读出结构,谢谢!
- 关于CheckListBox极极极简单的问题
- 请教各位高手,怎么改变按钮的颜色
- 哪有Delphi6用的GIF控件?
- 请指教怎样用table1.emptytable清空paradox表,我做的总是出问题(100分)?
- 急--100分:如何用DELPHI动态添加控件?
- Delphi 4.0能否完全兼容Delphi 3.0程序,如果不能有何区别?
- 关于rave的一个问题
- DBgrid 问题
SQL :='update detail set rkf='''+yrk+''';
不绑定,试试看。
begin
Close ;
SQL.Clear ;
SQL.Add('update detail set rkf=:yrk') ;
Parameters.ParamByName('yrk').Value:='是';
ExecSQL ;
end;
调试出现“parameter 'yrk' not found”错误
谢谢
begin
Close ;
SQL.Clear ;
SQL.add('update detail set rkf='''+yrk+''');
ExecSQL ;
end;
把它修改成True,你的代码即可正确执行了。
在你给参数赋值的时候不要使用数组的下标,而直接使用StoredProc的ParamsByName()这个属性来给参数赋值,这样就不会引起上面的问题!
大家可以试一下,如果有问题可以直接给我发邮件![email protected]