【发布时间】:2014-10-24 01:42:30
【问题描述】:
我处于需要检查用户是否已成功获得访问权限的情况。但 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 对象始终具有空值。我该如何验证这一点?
【问题讨论】:
-
看看执行标量的作用:ExecuteScalar()。它将返回
SELECT语句结果的第一行。 -
OleDbCommand.ExecuteScalar Method "结果集中第一行的第一列,如果结果集为空则为空引用。"
-
在我的情况下我可以使用什么替代方案?
-
@Selva 你可以在你的查询结束时
SELECT true...或者如果你愿意的话有条件的。然后将返回的对象转换回布尔值