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.   

    可能是最后生成的SQL语句有问题
      

  2.   

    工号=:iid ,
    多个,号吧,还有where 之前没空格
      

  3.   

    这里不对
    sql.Add('where 用户名="'+khh+"");  
    改成     sql.add(' where 用户名=''+khh+''');
    或者用参数  用户名=:khh
    parameters.ParamByName('khh').value:=trim(edit6.text); 
      

  4.   

    工号=:iid , 这多了一个逗号
      

  5.   

    工号=:iid , 这多了一个逗号,sql.Add('where 用户名="'+khh+"");在where前加个空格,