我有以下代码:
@objc
这可以在rtn变量中恢复1条记录。当我检查变量时,它似乎有2个成员,一个是“[0]”,另一个是“原始视图”。
成员[0]的类型是int并且具有期望值,但我似乎无法在我的代码中获得该值。这似乎是一个愚蠢的问题,因为我应该能够达到它,但不能。最新的尝试如下:
string sql = "SELECT COUNT(*) FROM " + tableName;
var rtn = DapperConnection.Query<int>(sql);
然而,这给了我一个编译器错误。如何在我的代码中获得此值?
答案 0 :(得分:31)
请不要这样做!它很脆弱,并引入了一个巨大的SQL注入漏洞。如果您可以使用一行非常富有表现力的代码返回给定表的计数,并且没有漏洞,为什么要使用它?
DapperConnection.ExecuteScalar<int>("SELECT COUNT(*) FROM customers");
// You will be happier and live longer if you avoid dynamically constructing
// sql with string concat.
答案 1 :(得分:4)
使用rtn.First()
- 这是一个枚举,这是获得它的第一个(也是在这种情况下)项目的一般方法。