var r=db.execute("query")
你好!我想访问从此查询获得的列(和行)(如 q[0].column1)。但是当我将它存储在 var 中时,这是不可能的。
我可以使用什么样的数据类型或技术?
这样做时单行输出和多行输出有区别吗?
我正在使用 webmatrix 中的 sql server CE db(sdf 文件)。
var r=db.execute("query")
你好!我想访问从此查询获得的列(和行)(如 q[0].column1)。但是当我将它存储在 var 中时,这是不可能的。
我可以使用什么样的数据类型或技术?
这样做时单行输出和多行输出有区别吗?
我正在使用 webmatrix 中的 sql server CE db(sdf 文件)。
我想 db 是 WebMatrix.Data 命名空间中的数据库类型的对象,用类似的命令打开
var db = Database.Open("yourDb");
如果这是正确的,则 Execute 方法(大写 E)不会返回查询,而是返回一个整数,它是受执行的 SQL 语句(INSERT、UPDATE 或 DELETE)影响的记录数。
返回查询结果的方法有 3 个:Query、QuerySingle 和 QueryValue。
查询将行列表作为 IEnumerable 对象返回。以下示例查询 Northwind 表并显示结果:
@{
var db = Database.Open("Northwind");
var data = db.Query("SELECT ProductID, ProductName FROM Products WHERE SupplierID = 1");
foreach (var row in data){
<p>@row.ProductID - @row.ProductName</p>
}
}
QuerySingle 返回单行作为对象,例如:
@{
var db = Database.Open("Northwind");
var data = db.QuerySingle("SELECT ProductID, ProductName FROM Products WHERE ProductID = 10");
<p>@data.ProductID - @data.ProductName</p>
}
QueryValue 以 Object 形式返回单个值:
@{
var db = Database.Open("Northwind");
var data = db.QueryValue("SELECT UnitPrice FROM Products WHERE ProductID = 14");
<p>The price of product n. 14 is: @data</p>
}
您的数据库将返回一个表或数据集。为了访问每个单元格中的数据,您需要遍历 DataTable 或 DataSet 行并指定每个列的索引或名称。