本人现在要设计一个通过用户界面选择表和字段等生成SQL语句的东西
但是生成出来的SQL语句,用户又可以直接修改
这就需要用到验证用户修改后的SQL语句是否正确请问这个验证SQL语句是否合法的正则表达式应该怎么写呢谢谢~~

解决方案 »

  1.   

    try catch
    这东西用正则很复杂的
      

  2.   

    个人以为 根本不是用正则可能不可能
    如果用户改了filed的name 正则根本就检查不出来
    如果再有嵌套SQL之类的 或者有些是根据前面的执行结果来选择执行后面的语句
    -__-#
      

  3.   

    同意二楼的..SQL语句变化无穷,用正则也是难以判断..最好就是,在用户输入完后,触发一个动作,把此SQL语句在程序里执行一次.报错则错,还能给出错误提示呢.
      

  4.   

    这样写的话,基本上就要求一个SQL 的语法解析器了
      

  5.   

    我们共通函数库的部分代码,看看能用不?Public Shared Function HasData(ByVal pSql As String) As Boolean
            Dim reader As SqlDataReader    
            Dim rtn As Boolean   
              
            reader = Query(pSql)              
            rtn = reader.Read()            
            reader.Close()  
                    
            Return rtn
        End Function
      

  6.   

    楼上这个并没捕获错误吧 如果你的pSql有问题 执行失败杂拌?
      

  7.   

    真的就没法么
    但是我只想知道这个SQL语句有没有对,
    而无法对这个SQL语句进行执行,因为没有数据库我该怎么办呢