首页 > 解决方案 > MySql查询到c#中的二维数组

问题描述

我想用阅读器从 mysql 查询中读取数据并将其转换为二维数组。怎么做?我尝试使用数据表,但它在最后一行给了我错误。

MySqlDataReader Reader = Command.ExecuteReader();
DataTable Result = new DataTable();
Result.Load(Reader);
Reader.Close();
return Result.AsEnumerable().Select(x => x.ItemArray).ToArray();

“无法将对象 [][] 转换为字符串 [][]”。

编辑:我用“for”循环解决了这个问题,但我不确定这是否是将mysql查询转换为二维数组的最佳方法,所以我仍在寻求你的帮助。

DataTable Result = new DataTable();
Result.Load(Command.ExecuteReader());

if (Result.Rows.Count > 0)
{
    object[][] Objects = Result.AsEnumerable().Select(x => x.ItemArray).ToArray();
    string[][] Texts = new string[Objects.Length][];
    for (int i = 0; i < Texts.Length; i++)
    {
        Texts[i] = new string[Objects[i].Length];
        for (int j = 0; j < Objects[i].Length; j++)
        {
            Texts[i][j] = Objects[i][j].ToString();
        }
    }
    return Texts;
}
else
{
    return null;
}

标签: c#mysqlarrays.netmultidimensional-array

解决方案


"ToArray()" 转换为 Object 类型的数组。您必须将数组转换为字符串数组。我希望这有帮助!


推荐阅读