如何访问选择查询的行和列[关闭]

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 行并指定每个列的索引或名称。

【讨论】:

以上是关于如何访问选择查询的行和列[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从 SQL 数据库中选择特定的行和列

TableLayoutPanel隐藏指定的行和列 求指导

如何根据行Spark DataFrame的数组值创建新的行和列[重复]

动态添加(表或 div)行和列/我该怎么做? [关闭]

请问如何获得GridView选中行的每一列的信息?

选择 QTableWidget 中的行和列,同时保持突出显示