首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi ADOQuer 数据库连接老掉牙报错。

2013-01-05 
delphi ADOQuer 数据库连接老报错。。。 除了可以查询 其他的都不行,报错说 tChildren 附近有语法错误。 [解决

delphi ADOQuer 数据库连接老报错。。。
 除了可以查询 其他的都不行,报错说 tChildren 附近有语法错误。 
[解决办法]
很久以前也用过这个写法,我当时是循环插入数据的过程,确实可以提高执行效率,我把我以前的代码贴出来你看一下,供你参考:
    vQryTemp := TADOQuery.Create(nil);
    vQryTemp.Connection := ConMain;
    vQryTemp.SQL.Text := 'Insert Into T_projectSub(iPSubID,ProjectDepID,M_SubIn,M_SubOut,M_Subbalance,IsKZ) Values('+
                         ':iPSubID,:ProjectDepID,:M_SubIn,:M_SubOut,:M_Subbalance,:IsKZ)';
    with qryTemp do  //加载每个科目的余额信息
    begin
      Close;
      SQL.Text := 'SELECT * FROM T_Subjects WHERE (IsActive = 1) and (SubjectID not in (select iPSubID from T_projectSub where ProjectDepID='''+viDepID+'''))';
      Open;
      if RecordCount>0 then
      begin
        IniPrass(RecordCount);
        While not Eof do
        begin
          vQryTemp.Close;
          vQryTemp.Parameters.ParamByName('iPSubID').Value       := FieldByName('SubjectID').AsString;
          vQryTemp.Parameters.ParamByName('ProjectDepID').Value  := viDepID;
          vQryTemp.Parameters.ParamByName('M_SubIn').Value       := 0;
          vQryTemp.Parameters.ParamByName('M_SubOut').Value      := 0;
          vQryTemp.Parameters.ParamByName('M_Subbalance').Value  := viDepBalance;
          vQryTemp.Parameters.ParamByName('IsKZ').Value          := '0';
          vQryTemp.Prepared := True ;
          vQryTemp.ExecSQL;
          StepByOne;
          Next;
        end;
        EndPrass;
      end;
    end;

热点排行