我的winform应用程序中有一个富文本字段,我可以编写sql脚本 并且需要检查书面脚本中是否存在任何问题。 有没有办法在使用c#执行之前执行相同的任务? 任何类型的建议都受到高度赞赏。
谢谢, 阿尼尔
答案 0 :(得分:3)
如果您只是尝试验证语法(而不是数据库对象的存在),您可以查看TSqlParser Class。
您需要将以下引用添加到项目中:
一种简单的方法是编辑 .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
}