gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 03:05:33 26 4
gpt4 key购买 nike

我正在寻找 C# 中的查询验证器,它允许我解析文本框中的 SQL 文本并在发送它以供执行(MS SQL 或 DB2 查询)之前验证它是否正确。

最佳答案

如果您想在不使用数据库的情况下验证 SQL 语法,TSql100Parser对于这种情况,类会做得很好。

免责声明,此处借用这篇文章的代码 Code to validate SQL Scripts

虽然使用起来非常简单。如果它返回 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;
}
}

关于c# - 使用 C# 进行查询验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6287851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com