为什么一执行就报错,指向Stock_type_id赋值那一句出错,这语句在SQL查询分析器
中都通过了,怎么在Delphi中不能这样写吗?  with qrQueryResult,qrQueryResult.SQL do
     begin
        Close;
        Clear;
        Add('select STOCK_ID,STOCK_NAME,SPEC,STOCK_TYPE_NAME,UNIT_NAME,STD_PRICE,STOCK_TYPE_NAME ');
                Add('from M_STOCK ');
                Add('where STOCK_NAME like :STOCK_NAME and STOCK_TYPE_ID like :STOCK_TYPE_ID');
                ParamByName('STOCK_NAME').AsString :='%'+edtName.Text+'%';
                ParamByName('STOCK_TYPE_ID').AsString := fmStock.Edit1.Text+'%';
                Open;
                First;
              end;
          end

解决方案 »

  1.   

    ParamByName('STOCK_NAME').AsString :=#39+'%'+edtName.Text+'%'+#39;
                    ParamByName('STOCK_TYPE_ID').AsString := #39+fmStock.Edit1.Text+'%'+#39;
    这样试试!!
      

  2.   

    with qrQueryResult,qrQueryResult.SQL do
         begin
            Close;//这里你关闭的是谁,是qrQueryResult,qrQueryResult吗?
            Clear;
            Add('select STOCK_ID,STOCK_NAME,SPEC,STOCK_TYPE_NAME,UNIT_NAME,STD_PRICE,STOCK_TYPE_NAME ');
                    Add('from M_STOCK ');
                    Add('where STOCK_NAME like :STOCK_NAME and STOCK_TYPE_ID like :STOCK_TYPE_ID');
                    ParamByName('STOCK_NAME').AsString :='%'+edtName.Text+'%';
                    ParamByName('STOCK_TYPE_ID').AsString := fmStock.Edit1.Text+'%';
                    Open;//这里你打开的是谁,是qrQueryResult,qrQueryResult吗?
                    First;//还有这里
                  end;
              end
    另外,SQL语句最好都先直接查询试一下