1:我在memo中可能会输入几个select(是让用户输入的),也可能select在where后面的,我怎么才能够判断Memo中输入的一共可以产生几个数据集合呢?

解决方案 »

  1.   

    where后面的select前加一个括号,这样(select 不就判断出来有几个了吗
      

  2.   

    象SQL分析器那样,每执行一个新一行输入一个GO;统计GO的个数就可以了。
      

  3.   

    关键memo的内容不是我控制的,是用用户输入的,我想让用户在memo中输入sql,然后我调用sql来执行看用户到底是采用了几个数据集合,我在动态的去显示!和sqlserver的查询分析器一样的
      

  4.   

    我觉你用ListBox可能更好些----------------------------------------
    暮春三月,羊欢草长,天寒地冻,问谁饲狼?人心怜羊,狼心独怆,天心难测
    ,世情如霜……
        
      

  5.   

    ListBox?如何让用户输入,如果这样对用户的限制太多了,不能用Listbox,我在找delphi中是不是有分析pararsql的类?
      

  6.   

    你留个信箱,我给你发一个例子;
    你可以让用户选择,就如SQL Server一样;
    GetTableNames
    GetFieldNames
    用这两个过程:-)----------------------------------------
    暮春三月,羊欢草长,天寒地冻,问谁饲狼?人心怜羊,狼心独怆,天心难测
    ,世情如霜……
        
      

  7.   

    你想过了吗?这样做的话,你需要做的工作是用户要懂SQL Server,而且你必须制定限制关键字才能保证程序的健壮性;----------------------------------------
    暮春三月,羊欢草长,天寒地冻,问谁饲狼?人心怜羊,狼心独怆,天心难测
    ,世情如霜……
        
      

  8.   

    那当然了,用这个软件的人必须懂写sql,如果不懂的话我可以提供向导让它生成,
    EMail:[email protected]
    我软件的原型你要不要看看,和我最初写软件的目的是不一样了,我最初就是作脚本解密的
    和数据导入导出的,现在不一样了,有些人要我加强一下
      

  9.   

    软件原形,如果你觉的可行的话,我希望我能看一看,学习学习:-)
    如果感觉不方便的话,就算了;
    我的信箱:[email protected]___________________________________________________________________暮春三月,羊欢草长,天寒地冻,问谁饲狼?人心怜羊,狼心独怆,天心难测
    ,世情如霜……
      

  10.   

    楼主,ADO是可以处理返回的多个数据集的。。刚花几分钟写了个例子。。使用多个adoDataSet,
    其中AdoDataSet1是设置了Connect,其它的不用管。procedure TForm1.Button1Click(Sender: TObject);
    var
      a:Integer;
    begin
      ADODataSet1.Close;
      ADODataSet1.CommandText:='select top 10 * from orders  select top 20 * from shippers';
      ADODataSet1.Open;
      ADODataSet2.Recordset:=ADODataSet1.NextRecordset(a)
    end;
      

  11.   

    'select top 10 * from orders  select top 20 * from shippers';??如何判断是两个数据集合呢?你这个还是个简单的
    如果是个负责的sql怎么办?我会拆分字符串的(关键是select的位置问题)
      

  12.   

    在查询分析器里面处理多个数据查询的时候,也是通过服务器返回记录集的数目为准。。如果你一定想在客户端就解析SQL语法,确实在一些技术细节上麻烦,而且未必可靠。