gpt4 book ai didi

c# - ExecuteScalar 为查询 "grant connect,resource to user"返回 null。为什么?

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:22 24 4
gpt4 key购买 nike

我现在需要检查用户是否已成功获得访问权限。但是 ExecuteScalar 总是向我返回空值。所以我不确定如何验证以下查询是否已成功执行?

string query= "grant connect,resource to user";
oleDbCommand cmd = new oleDbCommand(query,conn);
object grantStatus = cmd.ExecuteScalar();
if(grantStatus!=null)
{
response.write "Granted Access Successfully";
}

虽然它已成功为用户授予访问权限,但 grantStatus 对象始终为 null 值。我如何验证这一点?

最佳答案

ExecuteScalar 在授权的情况下没有要返回的行/列值,因为授权不是查询。是DDL(其实是DCL)。

查看 DDL 类型命令的 ExecuteNonQuery()。当没有返回数据时。它实际上返回 -1。

使用 ExecuteScalar,您必须假设只要没有抛出异常,并且您的语句有效,就没有错误。

您的代码缺少一个 try/catch 以及一个 using block

与其完全重复自己,不如在这里查看我的答案:https://stackoverflow.com/a/26534021/257090

关于c# - ExecuteScalar 为查询 "grant connect,resource to user"返回 null。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26533576/

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