比如select * from user,dept where user.id=1 order by id
写一小段程序得到表名为user 和 dept

解决方案 »

  1.   

    sql = "select * from user,dept where user.id=1 order by id" ;
            int indexF = sql.indexOf("from");
            int indexW = sql.indexOf("where");
            String s = sql.substring(indexF+4, indexW).trim() ;
            String[] tablenames = s.split(",") ;
            for (int i = 0; i < tablenames.length; i++)
            {
                System.out.println(tablenames[i]);
            }
      

  2.   

    要看你的SQL有多复杂了,这个解析的 格式可以自己研究下,我以前只写过解析操作的字段的(如INSERT 和 UPDATE)操作
      

  3.   

    sql = "select * from user a ,dept b where user.id=1 order by id" ;
    像这种有别名的。或者有子查询的
      

  4.   

    都是select 的句子 
    select F_from,f_name from URL , name where url.id=user.id 
    这样的句子怎么解析
      

  5.   

    这个...
    盼高手些个sql文词法分析器
      

  6.   

    sql = "select * from user,dept where user.id=1 order by id" ;
            String[] t = sql.split("from") ;
            sql = t[1] ;
            t = sql.split("where") ;
            sql = t[0] ;
            t = sql.split(",") ;
            for (int i = 0; i < t.length; i++)
            {
                System.out.println(t[i].trim());
            }
      

  7.   

    如果from子句里有子查询,那么子查询里可能有很多逗号,
      

  8.   

    delphi的midas源代码里面有一个例子。