我在Form1中加入了一个adoconnection,一个adoquery,一个combobox,一个botton设置了adoconnection和adoquery属性后在form的oncreate事件中加入如下代码:
adoquery1.first;
while not adoquery1.eof do
begin
combobox1.items.add(adoquery1['用户名']);
adoquery1.next
end;
在botton的click事件中加入如下代码:
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('delete from 用户 where 用户名=(:name)');
adoquery1.Parameters.ParamByName('name').Value:=combobox1.Text;
adoquery1.ExecSQL;
出现如下错误:请大侠快救救我!
Project Project1.exe raised exception class EAccessViolation with message ‘Access violation at address 1F478CAB in module ‘msado15.dll’, write of address 00FA7030’,Process stopped, Use step or Run to continue.
adoquery1.first;
while not adoquery1.eof do
begin
combobox1.items.add(adoquery1['用户名']);
adoquery1.next
end;
在botton的click事件中加入如下代码:
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('delete from 用户 where 用户名=(:name)');
adoquery1.Parameters.ParamByName('name').Value:=combobox1.Text;
adoquery1.ExecSQL;
出现如下错误:请大侠快救救我!
Project Project1.exe raised exception class EAccessViolation with message ‘Access violation at address 1F478CAB in module ‘msado15.dll’, write of address 00FA7030’,Process stopped, Use step or Run to continue.
procedure TForm1.Button1Click(Sneder:TObject);
begin
AdoQuery1.Active:=False;
AdoQuery1.sql.clear;
ADoQuery1.sql.add('delete from 用户 where 用户名=:Name');
AdoQuery1.parameters.paramValues['Name']:=ComboBox1.text;
AdoQuery1.active:=True;
end;
试试看,我以前有过这个现象,和Query组件不一样的,
begin
combobox1.items.add(adoquery1['用户名'].Value);//你的代码没有取值
adoquery1.next;
end;
adoquery1.SQL.Clear;
adoquery1.SQL.add('delete from 用户 where 用户名=:name');//把括号去掉
adoquery1.Parameters.ParamByName('name').Value:=combobox1.Text;
adoquery1.ExecSQL;
你用的是多少版的在什么操作系统下什么库?
mdac_type2.7.exe
adoquery1.sql.clear;
adoquery1.sql.add('delete from 用户 where 用户名=''阿毛''');
adoquery1.execsql;
有时出错,有时不出错。令我百思不得其解。