我在一个窗体(FORM1)中引用另一个窗体(FORM2)的Adoquery写查询语句,并在FORM2的dbgid中显示查询结果例如
  with FORM2.SingerADOQuery do
      begin
        FORM2.SingerADOQuery.close;
        FORM2.SingerADOQuery.sql.Clear;
        FORM2.SingerADOQuery.sql.Add('select * from 歌曲信息');
        FORM2.SingerADOQuery.open;
      end;可遇到问题是这行代码无效,意思是FORM2的dbgrid并没有显示我在FORM1引用FORM2.SingerADOQuery所访问的结果
不知道我说明白没,以前这么写好使,前天装了BusinessForm,不知道和这有关没,请各位大人解答一下。

解决方案 »

  1.   

    是不是执行完以上代码以后,又执行了其它的代码把FORM2.SingerADOQuery重新打开 了?
      

  2.   

    没有啊,但是我发现‘FORM2中datasource控件的dataset属性多了个 FORM2.SingerADOQuery选项,即有两个选项
    SingerADOQuery和FORM2.SingerADOQuery,可这两个是一个控件阿
      

  3.   

    没有啊,但是我发现‘FORM2中datasource控件的dataset属性多了个 FORM2.SingerADOQuery选项,即有两个选项
    SingerADOQuery和FORM2.SingerADOQuery,可这两个是一个控件阿
      

  4.   

    报错没有,是不是DBGrid连接不对
      

  5.   

    请试试下面的代码  with FORM2.SingerADOQuery do 
          begin 
            close; 
            sql.Clear; 
            sql.Add('select * from '''+'歌曲信息'+'''');    //英文的表名不用单引,中文的好像要  
            open; 
          end; 试试看吧 我没调试过的哦。。
      

  6.   

    你直接在Form2上面放一个按钮, 然后把你的Form1的代码原封不动的copy过去看看有没有结果先!
      

  7.   

    看了下SQL代码 
    虽然有些冗余
    但没发现什么问题
    估计是别的地方的问题
      

  8.   

    sql.Add('select * from '''+'歌曲信息'+''''); 
    报错,第一行歌曲信息附近有错误。应该不是sql语句写错了。。
      

  9.   

    ADOQUERY的DATASOURCE没有帮对吧.所以一直都没有显示出来.OK?
      

  10.   

    我最乐意帮助别人了[email protected]
      

  11.   


    这种SQL语句99.999%是错误的
      

  12.   

    sql.Add('select * from '''+'歌曲信息'+'''');这个结果是:select *  from '歌曲信息'
    原来写法没看出语句本身有什么问题