我想在已建立的表中插入数据,数据库链接都没有问题,以下代码中无缩进的语句为出错语句,[Error] Missing operator or semicolon,其中filelistbox.items[i]是变量,实在不明白为什么出错,还请各位帮忙看看!      ADOQuery1.Close ;
      ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into movielist values ('5','a','x',FileListBox1.Items[i]);');
      ADOQuery1.ExecSQL;
      ADOQuery1.Open ;

解决方案 »

  1.   

    ADOQuery1.SQL.Add('insert into movielist values ('5','a','x','''+FileListBox1.Items[i])+'''');
    你试一下这个,我也是新手.
      

  2.   

    ADOQuery1.SQL.Add('insert into movielist values ('5','a','x','''+FileListBox1.Items[i]+''')');
      

  3.   

    ADOQuery1.SQL.Add('insert into movielist values ('5',''a'',''x'','''+FileListBox1.Items[i]+''')');

    ADOQuery1.SQL.Add('insert into movielist values (''5'',''a'',''x'','''+FileListBox1.Items[i]+''')');
    如果5是数字用前者
    如果5是字符串用后者
      

  4.   

    ADOQuery1.SQL.Add('insert into movielist(字段1,字段2,字段3,字段4) values (值1,值2,值3,值4)');数据要一一对应.
      

  5.   

    现在是如果不报这个错,就会报另一个。
    我用的mysql,定义的movielist表中有四个键值,分别是num,genre,moviename,filename,其中num是主键并且自增,我将那条语句改成
    adoquery1.SQL.Add('insert into movielist(genre,moviename,filename)values("q","w","e")');
    delphi编译没问题,可一执行就会报ADOQuery1:CommandText not return a result set,但是我查看数据库,发现这一条记录已经正确插入了,不知道为什么它还会报错
      

  6.   

    执行了ADOQuery1.ExecSQL;
         就不要执行 ADOQuery1.Open了,这句是画蛇有脚的做法,要去掉