procedure TForm7.Button1Click(Sender: TObject);
var khh:string;begin
 with aq do
        begin
            khh:=edit6.text;
            SQL.Clear;
            SQL.Add('update kc_user set 用户名=:id,类型=:typ,姓名=:name,密码=:pw,工号=:iid ,');
            sql.Add('where 用户名="'+khh+"");
            parameters.ParamByName('id').value:=trim(edit1.text);
            parameters.ParamByName('typ').value:=trim(edit2.text);
            parameters.ParamByName('name').value:=trim(edit3.text);
            parameters.ParamByName('pw').value:=trim(edit4.text);
            parameters.ParamByName('iid').value:=trim(edit5.text);
            execsql;
            showmessage('添加成功');
        end;
end;end.运行程序,它显示的错误"illegal character in input file:""(﹩22)"
为什么?应该怎样修改?是否还有其它错误?我是个新手,请教啊,请教啊,各位仁兄..........

解决方案 »

  1.   

    用户名="'+khh+"" 
    这里不对,应该是 用户名=''''+khh+''''
    或者也用参数形式
    用户名=:khh
    parameters.ParamByName('khh').value:=trim(khh);
      

  2.   

    SQL.Add('update kc_user set 用户名=:id,类型=:typ,姓名=:name,密码=:pw,工号=:iid ,'); 
    中工号=:iid后的,号去掉!
                SQL.Add('update kc_user set 用户名=:id,类型=:typ,姓名=:name,密码=:pw,工号=:iid '); 
                sql.Add('where 用户名="'+khh+""); 这是我的一个修改用户表的东西(BDE):
                qryUser.Close;
                qryUser.SQL.Clear;
                qryUser.SQL.Add('update user_table set manno=:manno,man=:man,password=:password,ctrlid=:ctrlid ');
                qryUser.SQL.Add('where manno='''+self.edtmanno.text+'''');
                qryUser.ParamByName('manno').Value:=trim(edtmanno.Text);
                qryUser.ParamByName('man').Value:=trim(edtman.Text);
                qryUser.ParamByName('password').Value:=trim(edtpass.Text);
                qryUser.ParamByName('ctrlid').value:=inttostr(cbctrl.ItemIndex);
                qryUser.ExecSQL;