gpt4 book ai didi

c# - 如何用dapper解析Sql Script? (设置 PARSEONLY ON + Dapper)

转载 作者:行者123 更新时间:2023-11-30 18:27:22 30 4
gpt4 key购买 nike

我想检查和解析 sql 脚本,所以我搜索了它并找到了类似的东西

SET PARSEONLY ON 
SELECT * FROM [dbo].[Categories] --Query To Parse

我用的是dapper,所以我这样写方法

 public bool IsValidSqlScript(string sqlScript)
{
using (SQLConnection)
{
using (SQLTransaction)
{
var status = SQLConnection.Execute("SET PARSEONLY ON " + sqlScript);
// OR
// var status = SQLConnection.Query("SET PARSEONLY ON " + sqlScript);
}
}
return status;
}

我如何获取状态,如果存在任何错误也获取错误列表???

SET PARSEONLY ON
SELECT * FR OM [dbo].[Categories] --Query To Parse

>>> false
>>> Msg 102, Level 15, State 1, Line 2 Incorrect syntax near 'FR'.

最佳答案

你很接近,但你的状态变量有问题。您在 SQLTransaction using 语句中声明它,然后尝试在该范围之外返回它。

您需要使用 try/catch block 来执行您的查询,这样您就会知道 sqlScript 何时有效。进入catch block 无效,不进入有效。

代码应该类似于下面...

public bool IsValidSqlScript(string sqlScript)
{
bool status;

try
{
using (SQLConnection)
{
using (SQLTransaction)
{
SQLConnection.Execute("SET PARSEONLY ON " + sqlScript);
}
}
status = true;
}
catch(Exception e)
{
status = false;
)

return status;
}

关于c# - 如何用dapper解析Sql Script? (设置 PARSEONLY ON + Dapper),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26849920/

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