Delphi中利用ADOQuery向数据库中添加数据错误
procedureTperson_form.Button2Click(Sender:TObject);beginadoquery2.Close;adoquery2.SQL...
procedure Tperson_form.Button2Click(Sender: TObject);
begin
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('insert into student');
adoquery2.SQL.Add('Values(:no,:name,:sex,:class,:dom,:tel,:home,:htel)');
adoquery2.Parameters[0].Value:=no.Text;
adoquery2.Parameters[1].Value:=name.Text;
adoquery2.Parameters[2].Value:=sex.Text;
adoquery2.Parameters[3].Value:=Strtoint(grade.Text);
adoquery2.Parameters[4].Value:=dom.Text;
adoquery2.Parameters[5].Value:=phone.Text;
adoquery2.Parameters[6].Value:=addr.Text;
adoquery2.Parameters[7].Value:=htel.Text;
adoquery2.ExecSQL;
showmessage('新书添加成功');
end;执行以上程序段弹出错误list index out of bounds为什么啊? 展开
begin
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('insert into student');
adoquery2.SQL.Add('Values(:no,:name,:sex,:class,:dom,:tel,:home,:htel)');
adoquery2.Parameters[0].Value:=no.Text;
adoquery2.Parameters[1].Value:=name.Text;
adoquery2.Parameters[2].Value:=sex.Text;
adoquery2.Parameters[3].Value:=Strtoint(grade.Text);
adoquery2.Parameters[4].Value:=dom.Text;
adoquery2.Parameters[5].Value:=phone.Text;
adoquery2.Parameters[6].Value:=addr.Text;
adoquery2.Parameters[7].Value:=htel.Text;
adoquery2.ExecSQL;
showmessage('新书添加成功');
end;执行以上程序段弹出错误list index out of bounds为什么啊? 展开
1个回答
2013-11-25
展开全部
提示数组越界了,建议你将下面的代码
adoquery2.Parameters[0].Value:=no.Text;
adoquery2.Parameters[1].Value:=name.Text;
adoquery2.Parameters[2].Value:=sex.Text;
adoquery2.Parameters[3].Value:=Strtoint(grade.Text);
adoquery2.Parameters[4].Value:=dom.Text;
adoquery2.Parameters[5].Value:=phone.Text;
adoquery2.Parameters[6].Value:=addr.Text;
adoquery2.Parameters[7].Value:=htel.Text;
改成:
adoquery2.Parameters.ParamByName('no').Value:=no.Text;
adoquery2.Parameters.ParamByName('name').Value:=name.Text;
adoquery2.Parameters.ParamByName('sex').Value:=sex.Text;
adoquery2.Parameters.ParamByName('class').Value:=Strtoint(grade.Text);
adoquery2.Parameters.ParamByName('dom').Value:=dom.Text;
adoquery2.Parameters.ParamByName('tel').Value:=addr.Text;
adoquery2.Parameters.ParamByName('home').Value:=phone.Text;
adoquery2.Parameters.ParamByName('htel').Value:=htel.Text;
这样可以避免错误,而且就算出错也可以很快的定位错误的位置
adoquery2.Parameters[0].Value:=no.Text;
adoquery2.Parameters[1].Value:=name.Text;
adoquery2.Parameters[2].Value:=sex.Text;
adoquery2.Parameters[3].Value:=Strtoint(grade.Text);
adoquery2.Parameters[4].Value:=dom.Text;
adoquery2.Parameters[5].Value:=phone.Text;
adoquery2.Parameters[6].Value:=addr.Text;
adoquery2.Parameters[7].Value:=htel.Text;
改成:
adoquery2.Parameters.ParamByName('no').Value:=no.Text;
adoquery2.Parameters.ParamByName('name').Value:=name.Text;
adoquery2.Parameters.ParamByName('sex').Value:=sex.Text;
adoquery2.Parameters.ParamByName('class').Value:=Strtoint(grade.Text);
adoquery2.Parameters.ParamByName('dom').Value:=dom.Text;
adoquery2.Parameters.ParamByName('tel').Value:=addr.Text;
adoquery2.Parameters.ParamByName('home').Value:=phone.Text;
adoquery2.Parameters.ParamByName('htel').Value:=htel.Text;
这样可以避免错误,而且就算出错也可以很快的定位错误的位置
网易云信
2023-12-06 广告
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询