procedure TForm9.Button1Click(Sender: TObject);
var
str:string;
begin
if edit1.Text='' then
begin
showmessage('请输入用户名称');
edit1.SetFocus;
exit;
end;
if edit2.Text='' then
begin
showmessage('请输入密码');
edit1.SetFocus;
exit;
end;
、、、、、、、、、、、、、、、、、 if button1.Tag=2 then
begin
str:=edit1.Text;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('update UserInfo set 用户类型=:yhlx'
+' where 用户名称=:olduser');
adoquery2.Parameters.ParamByName('olduser').Value:=str;
adoquery2.Parameters.ParamByName('yhlx').Value:=dbcombobox1.Text;
adoquery2.ExecSQL;
adoquery1.Close;
adoquery1.Open;
end; close;
end;上述代码中的、、、、、、、表示这段代码已经注释掉,现在里面已经没有user
可是当修改用户类型的时候会出错如下:adoquery2:parameter 'user' not found里面已经没有user了,可是为何还是报错:user参数没有找到????
var
str:string;
begin
if edit1.Text='' then
begin
showmessage('请输入用户名称');
edit1.SetFocus;
exit;
end;
if edit2.Text='' then
begin
showmessage('请输入密码');
edit1.SetFocus;
exit;
end;
、、、、、、、、、、、、、、、、、 if button1.Tag=2 then
begin
str:=edit1.Text;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('update UserInfo set 用户类型=:yhlx'
+' where 用户名称=:olduser');
adoquery2.Parameters.ParamByName('olduser').Value:=str;
adoquery2.Parameters.ParamByName('yhlx').Value:=dbcombobox1.Text;
adoquery2.ExecSQL;
adoquery1.Close;
adoquery1.Open;
end; close;
end;上述代码中的、、、、、、、表示这段代码已经注释掉,现在里面已经没有user
可是当修改用户类型的时候会出错如下:adoquery2:parameter 'user' not found里面已经没有user了,可是为何还是报错:user参数没有找到????
代码这样看看:
if button1.Tag=2 then
begin
str:=edit1.Text;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('update UserInfo set 用户类型=:yhlx'
+' where 用户名称=:olduser');
adoquery2.Parameters.ParamByName('olduser').Value:=''+str+'';
adoquery2.Parameters.ParamByName('yhlx').Value:=''+dbcombobox1.Text+'';
adoquery2.ExecSQL;
adoquery1.Close;
adoquery1.Open;
end;
明显写的是定义的user找不到!可能不是这里,这里都换成olduser了,
应该是你sql里面还要这个:user,你再检查下。
应该是params.clear忘记写了吧!
以前的参数没有删除!