在页面上编写好的SQL语句,然后保存到数据库中,如何查询该语句是否正确,
就像查询分析器中的语法检查?而不是执行该SQL语句?比如:select * from aa 这句是正确的
但是写成了 select * form aa 
通过语法检查,指出该句不正确?

解决方案 »

  1.   

    页面没有那么智能,页面上sql语句只表现为一个字串,只有在执行以后才能判断是否正确,而这样判断实际上并不页面自己本身判断的,而是由数据库来判断的.
      

  2.   

    把SQL语句.COPY到SQLServer查询分析器里运行就可以了!
      

  3.   

    用正则表达式例如:
    using System;
    using System.Text.RegularExpressions;namespace chjl.Test
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    public class SqlValidate
    {
    public static bool IsSelectOk(string selectSql)
    {
    string pattern = @"SELECT\s+\w+\s+FROM\s+\w+"; Regex regex = new Regex(pattern, RegexOptions.IgnoreCase); return regex.IsMatch(selectSql);
    } public static void Main()
    {
    string selectSql = "select Username from Users";
    bool isOk = IsSelectOk(selectSql); Console.WriteLine(isOk);
    }
    }
    }
      

  4.   

    多谢楼上几位关注,
    但不是在查询分析器中验证语法正确.
    上面的也只是一个例子,实际中还有很多其他的SQL语句.
    望高人出现!!!
      

  5.   

    select * form aa 
    晕死,你的form写错了
      

  6.   

    用事务
    执行后再rollback,发生异常就是语法错误
      

  7.   

    ghchen()  的方法可行,谢谢!我现在就是需要让程序去判断一个SQL语句是否正确.而不是要执行该语句.
      

  8.   

    不用查询分析器也行,vs2003里面就可以直接操作sql server界面比sql server还要漂亮,就在服务器资源菜单里面
      

  9.   

    多谢!按ghchen()  的方法可以了.
    结贴!!!散分!