换位为
           sql.add('Name=:name   ');
           parambyname('name').asstring:=edit4.Text;

解决方案 »

  1.   

    if checkbox1.checked  then
              begin
               sql.add('Name=:name   ');
               parambyname('name').asstring:=edit4.Text;
              end;
      

  2.   

    if checkbox1.checked  then
              begin
               parambyname('name').asstring:=edit4.Text;
               sql.add('Name=:name   ');
              end;改成
    if Checkbox1.checked then
       begin
       sql.add('name='+chr(39)+edit4.text+chr(39));
       end;
      

  3.   

    parambyname('name').asstring:=edit4.Text;
    sql.add('Name=:name   ');
    换一下位置!
      

  4.   

    parambyname('name').asstring:=edit4.Text;
    sql.add('Name=:name   ');
      

  5.   

    你的这个动态sql语句根本就没有提到要参数呀!所以系统肯定会这样报错,如果只是想传进name,很简单的,没有必要要参数,
    这样做
    sql.add('name='''+edit4.text+'''');
    另外在碰到真要提供参数的时候,也应该先判断啊。