在BitBtn事件下的代码,ADOQuery5于ADOConnection1的连接,在Form.show里已经完成
,为什么会报"无效的SQL语句的错误,需要select ,update ....".在Show里,我还有一个ADOConnection 2是连本地的Access数据库,ADOConnection1是连的SQLS,它们不应改会有影响吧,还想问一下各位,在给ADO对象设置Connection属性时是在ADOConnction的连接设置好后马上把这各ADOConnection设置给各ADO对象了,还是ADO对象需要使用时再给,
  ADOQuery5.Close;
  ADOQuery5.SQL.Clear;
  ADOQuery5.SQL.Add('Use ZhuYuan');
  SQLString:=' select  *  from  blkpki01 where bah ='+''''+bah+'''';
  ADOQuery5.SQL.Add(SQLString);
  ADOQUery5.Open ;

解决方案 »

  1.   


      ADOQuery5.Close;
      ADOQuery5.SQL.Clear;
      SQLString:=' select  *  from  blkpki01 where bah ='+''''+bah+'''';
      ADOQuery5.SQL.Add(SQLString);
      ADOQUery5.Open ;你在前台設計時直接在SQL屬性中寫入 select  *  from  blkpki01 再找會不會有問題?
      

  2.   

    使用PARAMETER吧!!我试了你的代码是对的啊!!!我没有问题啊!!
    在ADOQUERY5的SQL STRING里写:select  *  from  blkpki01 where bah =:bah
    然后在PARAMETERS 设置变量名bah 
    在程序中使用:ADOQUERY5.Parameters.ParamValues['BAH'] := '01';
    试试看!!
      

  3.   

    ADOQuery5.Close;
      ADOQuery5.SQL.Clear;
      ADOQuery5.SQL.Add('Use ZhuYuan');
      adoquery5.sql.add('go');//增加这句
      SQLString:=' select  *  from  blkpki01 where bah ='+''''+bah+'''';
      ADOQuery5.SQL.Add(SQLString);
      ADOQUery5.Open ;
      

  4.   

    SQLString:=' select  *  from  blkpki01 where bah ='''+bah+'''';
      

  5.   

    ADOQuery5.Close;
      ADOQuery5.SQL.Clear;;
      ADOQuery5.SQL.Add(' select  *  from  blkpki01 where bah =:bah);
      adoquery5.parameters.paramvalues['bah']:='值';
      ADOQUery5.Open ;
      

  6.   

    ADOQuery5.Close;
      ADOQuery5.SQL.Clear;
      ADOQuery5.SQL.Add('Use ZhuYuan');//去掉就可以了。
      SQLString:=' select  *  from  blkpki01 where bah ='+''''+bah+'''';
      ADOQuery5.SQL.Add(SQLString);
      ADOQUery5.Open ;