如何访问选择查询的行和列[关闭]
Posted
技术标签:
【中文标题】如何访问选择查询的行和列[关闭]【英文标题】:how to access rows and columns of a select query [closed] 【发布时间】:2012-12-26 09:53:14 【问题描述】:var r=db.execute("query")
嗨!我想访问从此查询获得的列(和行)(如 q[0].column1)。但是当我将它存储在 var 中时,这是不可能的。
我可以使用哪种数据类型或技术?
这样做时单行输出和多行输出有区别吗?
我正在使用 webmatrix 中的 sql server CE db(sdf 文件)。
【问题讨论】:
execute
返回什么类型? db
是什么类型的?
【参考方案1】:
我认为 db 是来自 WebMatrix.Data 命名空间的Database type 的对象,使用类似的命令打开
var db = Database.Open("yourDb");
如果正确,Execute 方法(大写 E)不会返回查询,而是返回一个整数,表示受执行的 SQL 语句(INSERT、UPDATE 或 DELETE)影响的记录数。
返回查询结果的方法有三种: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 以 Object 形式返回单行,例如:
@
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>
【讨论】:
【参考方案2】:您的数据库将返回一个表或数据集。为了访问每个单元格中的数据,您需要遍历 DataTable 或 DataSet 行并指定每个列的索引或名称。
【讨论】:
以上是关于如何访问选择查询的行和列[关闭]的主要内容,如果未能解决你的问题,请参考以下文章