procedure TForm4.Button1Click(Sender: TObject);
var
//Name,Ip,GameId,Service,Sdate,Hour,Minute,Addr,Xingzhi,QQ,Homepage,Download,addtime,hits,Ulock,top,toptime,hot,hottime,Fine,Finetime,time: string;
ms: TMemoryStream;
begin
    ms := TMemoryStream.Create;
    try
        IdHTTP1.Get('http://www.09188.com/dlq.aspx', ms);
        ms.Position := 0;
        Memo1.Lines.LoadFromStream(ms);
    finally
        ms.Free;
    end;
        with ADO do
   begin
   Close;
   SQL.Clear;
   SQL.Add('insert into Gq_sfdata(Name,Ip,GameId,Service,Sdate,Hour,Minute,Addr,Xingzhi,QQ,Homepage,Download,addtime,hits,Ulock,top,toptime,hot,hottime,Fine,Finetime,time)');
   SQL.Add('values(:Name,:Ip,:GameId,:Service,:Sdate,:Hour,:Minute,:Addr,:Xingzhi,:QQ,:Homepage,:Download,:addtime,:hits,:Ulock,:top,:toptime,:hot,:hottime,:Fine,:Finetime,:time)');
   {edit2.Text:= SplitString(memo1.Lines[5],',').Strings[0];
   edit3.Text:=SplitString(memo1.Lines[5],',').Strings[1];
   edit4.Text:= SplitString(memo1.Lines[5],',').Strings[2];
   edit5.Text:=SplitString(memo1.Lines[5],',').Strings[3];
   edit6.Text:= SplitString(memo1.Lines[5],',').Strings[4];
   edit7.Text:=SplitString(memo1.Lines[5],',').Strings[5];  }   parameters.parambyname('Name').value:='九州游龙';
   parameters.parambyname('Ip').value:='游戏IP';
   parameters.parambyname('GameId').value:='6';
   parameters.parambyname('Service').value:='1';
   parameters.parambyname('Sdate').value:='2009-6-25';
   parameters.parambyname('Hour').value:='12';
   parameters.parambyname('Minute').value:='30';
   parameters.parambyname('Addr').value:='中国电信';
   parameters.parambyname('Xingzhi').value:='版本介绍';
   parameters.parambyname('QQ').value:='游戏中查询';
   parameters.parambyname('Homepage').value:='http://www.5sf.com';
   parameters.parambyname('Download').value:='这里可以有';
   parameters.parambyname('addtime').value:='2009-6-6 12:16:59';
   parameters.parambyname('hits').value:='0';
   parameters.parambyname('Ulock').value:='1';
   parameters.parambyname('top').value:='1';
   parameters.parambyname('toptime').value:='2009-6-6 12:17:53';
   parameters.parambyname('hot').value:='1';
   parameters.parambyname('hottime').value:='2009-6-6 12:17:53';
   parameters.parambyname('Fine').value:='1';
   parameters.parambyname('Finetime').value:='2009-6-6 12:17:53';
   parameters.parambyname('time').value:='6';
   ExecSQL;
   end;
end;提示报错,insert into错误

解决方案 »

  1.   

    点ADO的params属性,看看建了params没有
      

  2.   

    單步調試一下,
    showmessage(SQL.text)看看sql語句是否正確.
      

  3.   


    数据库有几个表头,就要建几个parameters吗?
      

  4.   

    类型全部调对了,确出现了这种错误Project 我搜服采集程序.exe raised exception class EOleException with message '参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。'
      

  5.   

    楼主,你的insert语句好像没有规定的空格吧?
    SQL.Add('values(:Name,:Ip,:GameId,:Service,:Sdate,:Hour,:Minute
    你在这句下边写个变量 := SQL.Text;
    断点打到这,调试下,看values前边有空格吗?或者你的语句有问题吗?
      

  6.   

      with ADO do
      begin
      Close;
      SQL.text := 'insert into Gq_sfdata(Name,Ip,GameId,Service,Sdate,Hour,Minute,Addr,Xingzhi,QQ,Homepage,Download,addtime,hits,Ulock,top,toptime,hot,hottime,Fine,Finetime,time)'+
                  'values(:Name,:Ip,:GameId,:Service,:Sdate,:Hour,:Minute,:Addr,:Xingzhi,:QQ,:Homepage,:Download,:addtime,:hits,:Ulock,:top,:toptime,:hot,:hottime,:Fine,:Finetime,:time)';  parameters.parambyname('Name').value:='九州游龙';
      parameters.parambyname('Ip').value:='游戏IP';
      parameters.parambyname('GameId').value:='6';
      parameters.parambyname('Service').value:='1';
      parameters.parambyname('Sdate').value:=strtodate('2009-6-25');
      parameters.parambyname('Hour').value:='12';
      parameters.parambyname('Minute').value:='30';
      parameters.parambyname('Addr').value:='中国电信';
      parameters.parambyname('Xingzhi').value:='版本介绍';
      parameters.parambyname('QQ').value:='游戏中查询';
      parameters.parambyname('Homepage').value:='http://www.5sf.com';
      parameters.parambyname('Download').value:='这里可以有';
      parameters.parambyname('addtime').value:=strTodatetime('2009-6-6 12:16:59');
      parameters.parambyname('hits').value:='0';
      parameters.parambyname('Ulock').value:='1';
      parameters.parambyname('top').value:='1'; 
      parameters.parambyname('toptime').value:=strTodatetime('2009-6-6 12:17:53');
      parameters.parambyname('hot').value:='1';
      parameters.parambyname('hottime').value:=strTodatetime('2009-6-6 12:17:53');
      parameters.parambyname('Fine').value:='1';
      parameters.parambyname('Finetime').value:=strTodatetime('2009-6-6 12:17:53');
      parameters.parambyname('time').value:='6';
      ExecSQL;
      end;日期转化一下试试
      

  7.   

    语句没问题下面是修改过的代码
    with ADO do
       begin
       Close;
       SQL.Clear;
       SQL.Add('insert into Gq_sfdata(Name,Ip,GameId,Service,Sdate,Hour,Minute,Addr,Xingzhi,QQ,Homepage,Download,addtime,hits,Ulock,top,toptime,hot,hottime,Fine,Finetime,time)');
       SQL.Add('values(:Name,:Ip,:GameId,:Service,:Sdate,:Hour,:Minute,:Addr,:Xingzhi,:QQ,:Homepage,:Download,:addtime,:hits,:Ulock,:top,:toptime,:hot,:hottime,:Fine,:Finetime,:time)');   {edit2.Text:= SplitString(memo1.Lines[5],',').Strings[0];
       edit3.Text:=SplitString(memo1.Lines[5],',').Strings[1];
       edit4.Text:= SplitString(memo1.Lines[5],',').Strings[2];
       edit5.Text:=SplitString(memo1.Lines[5],',').Strings[3];
       edit6.Text:= SplitString(memo1.Lines[5],',').Strings[4];
       edit7.Text:=SplitString(memo1.Lines[5],',').Strings[5];  }   //if Pos('午',SplitString(memo1.Lines[5],',').Strings[2])>0 then
       parameters.parambyname('Name').value:='九州游龙';
       parameters.parambyname('Ip').value:='游戏IP';
       parameters.parambyname('GameId').value:=6;
       parameters.parambyname('Service').value:=1;
       parameters.parambyname('Sdate').value:=StrToDateTime('2009-6-25');
       parameters.parambyname('Hour').value:='12';
       parameters.parambyname('Minute').value:='30';
       parameters.parambyname('Addr').value:='中国电信';
       parameters.parambyname('Xingzhi').value:='版本介绍';
       parameters.parambyname('QQ').value:='游戏中查询';
       parameters.parambyname('Homepage').value:='http://www.5sf.com';
       parameters.parambyname('Download').value:='这里可以有';
       parameters.parambyname('addtime').value:=StrToDateTime('2009-6-6 12:16:59');
       parameters.parambyname('hits').value:=0;
       parameters.parambyname('Ulock').value:=1;
       parameters.parambyname('top').value:=1;
       parameters.parambyname('toptime').value:=StrToDateTime('2009-6-6 12:17:53');
       parameters.parambyname('hot').value:=1;
       parameters.parambyname('hottime').value:=StrToDateTime('2009-6-6 12:17:53');
       parameters.parambyname('Fine').value:=1;
       parameters.parambyname('Finetime').value:=StrToDateTime('2009-6-6 12:17:53');
       parameters.parambyname('time').value:=6;
       ExecSQL;
      

  8.   

    GameId Service 都是整数型的,
    他们在数据库中的唯一区别是
    Service索引<有(无重复) >
    'GameId' 索引<无>
      

  9.   

    还没解决吖? 我还是建议直接用SQL语句, 因为我从未用过Params,呵呵
      

  10.   


    好的,我直接用sql语句.我之前考虑的也是直接用sql语句,但是太长了,容易出错.
      

  11.   


    你用params更长吧,呵呵~~
    你也可以像你的params那样排吖,一样好看,嘻嘻