我在delphi中向access表中插入一行记录,提示"insert into''语法错误,请大家指点.with adoquery3 do
        begin
          if Active then close;
            SQL.Clear;
            SQL.add(' insert into user1(departmentid,userid,name,pwd,explain,pic)');
            sql.Add('value(:departmentid,:userid,:name,:pwd,:explain,:pic)');
            parameters.ParamByName('departmentid').Value:=trim(combobox1.text);
            parameters.ParamByName('userid').value:=trim(edit2.text);
            parameters.ParamByName('name').value:=trim(edit3.text);
            parameters.ParamByName('pwd').value:=trim(edit5.text);
            parameters.ParamByName('explain').value:=trim(edit6.text);
            parameters.parambyname('pic').Assign(image1.picture.graphic);
            showmessage(sql.Text);
            execsql;
            showmessage('添加成功');
        end;

解决方案 »

  1.   

    SQL语句错误了,不是VALUE 而是VALUES,记清除了
      

  2.   


    with   adoquery3   do 
       begin 
         if   Active   then   close; 
           SQL.Clear; 
           SQL.add('insert   into   user1(departmentid,userid,name,pwd,explain,pic) '); 
           sql.Add('values(:departmentid,:userid,:name,:pwd,:explain,:pic)'); 
           parameters.ParamByName('departmentid').Value:=trim(combobox1.text); 
           parameters.ParamByName('userid').value:=trim(edit2.text); 
           parameters.ParamByName('name').value:=trim(edit3.text); 
           parameters.ParamByName('pwd').value:=trim(edit5.text); 
           parameters.ParamByName('explain').value:=trim(edit6.text); 
           parameters.parambyname('pic').Assign(image1.picture.graphic); 
           showmessage(sql.Text); 
           execsql; 
           showmessage('添加成功'); 
        end; 
      

  3.   

    to 龙之子不好意思,我以为你说的是参数的value
      

  4.   

    原来是Values少写了一个S,谢谢!已成功。
      

  5.   

    原来是Values少写了一个S,谢谢!已成功。