c# - 使用 C# 进行sql查询验证

  显示原文与译文双语对照的内容

我在 C# 中寻找查询验证器,它允许我在文本框中解析SQL文本并验证它是否正确。 ( MS SQL或者DB2查询) 。

时间:

如果要在不使用数据库的情况下验证SQL语法,则 TSql100Parser for类将很好地实现这种情况。

免责声明:这里的代码借用这里文章的代码验证SQL脚本。

使用相当简单。 如果它返回 null,那么解析它就没有任何错误。


using Microsoft.Data.Schema.ScriptDom;


using Microsoft.Data.Schema.ScriptDom.Sql;



public class SqlParser


{


 public List<string> Parse(string sql)


 {


 TSql100Parser parser = new TSql100Parser(false);


 IScriptFragment fragment;


 IList<ParseError> errors;


 fragment = parser.Parse(new StringReader(sql), out errors);


 if (errors!= null && errors.Count> 0)


 {


 List<string> errorList = new List<string>();


 foreach (var error in errors)


 {


 errorList.Add(error.Message);


 }


 return errorList;


 }


 return null;


 }


}



...