gpt4 book ai didi

C# 将 MySQL 结果拉入数组

转载 作者:太空宇宙 更新时间:2023-11-03 10:49:00 24 4
gpt4 key购买 nike

我想将我查询的内容拉入数组。

SELECT * FROM `x`

可能有 1 个结果或 1,000 个结果。列会有所不同,我的意思是,我宁愿含糊不清也不愿为每个查询编写特定的解释器,我宁愿函数确定列名。

那么我真正想要的是什么?

<?php
$results = mysql::query("SELECT * FROM x");
$holding = array();

//Now we get the results.
while ($row = mysql_fetch_assoc($results)) $holding[] = $row;
?>

显然这不是 C#,但我想要等效的。我想要我所有的结果,保留它们的列名,在一个数组中,这样我就可以调用 holding[0]["Column"];

我的C#代码如下。

            if (connected)
{
MySqlCommand cmd = new MySqlCommand(query, conn);
MySqlDataReader reader = cmd.ExecuteReader();

while (reader.Read()){
//The problem is here, I don't know how to add them to a list/array retaining column names etc..

}
}

最佳答案

如果您只想将所有行放入一个数组中,您可以使用 Linq to DataTable 来实现:

var dt = new DataTable();
dt.Load(cmd.ExecuteReader());
var rows = dt.AsEnumerable().ToArray();

然后你有一个 DataRows 数组,你可以使用 DataRow 的索引器获取特定列的值,例如:

// value of the id column of first row
var value = rows[0]["id"];

关于C# 将 MySQL 结果拉入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27080904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com