我的 winform 应用程序中有一个富文本字段,我可以在其中编写 sql 脚本,并且需要检查书面脚本中是否存在任何问题。有没有办法在使用 c# 执行之前执行相同的任务?任何类型的建议都受到高度赞赏。
谢谢,阿尼尔
我的 winform 应用程序中有一个富文本字段,我可以在其中编写 sql 脚本,并且需要检查书面脚本中是否存在任何问题。有没有办法在使用 c# 执行之前执行相同的任务?任何类型的建议都受到高度赞赏。
谢谢,阿尼尔
如果您只是尝试验证语法(而不是数据库对象的存在),您可以查看TSqlParser 类。
您需要将以下引用添加到您的项目中:
一种简单的方法是编辑您的.csproj文件并添加以下两个条目以及现有条目并重新加载项目:
<ItemGroup>
<Reference Include="Microsoft.Data.Schema.ScriptDom.Sql" />
<Reference Include="Microsoft.Data.Schema.ScriptDom" />
<!-- other Reference tags -->
</ItemGroup>
一些示例用法:
private void btnParse_Click(object sender, EventArgs e)
{
var parser = new TSql100Parser(true);
IList<ParseError> errors;
var result = parser.Parse(new StringReader(richTextBox1.Text), out errors);
// TODO: check the errors
}