MySql запрос к двумерному массиву в c# - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу прочитать данные из запроса mysql с помощью ридера и преобразовать их в двумерный массив. Как это сделать? Я пытаюсь с таблицей данных, но это дает мне ошибку в последней строке.

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

"Невозможно преобразовать объект [] [] в строку [] []".

РЕДАКТИРОВАТЬ: Я решаю эту проблему с помощью "for" l oop, но я не уверен, что это лучший способ конвертировать 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;
}

1 Ответ

0 голосов
/ 28 апреля 2020

«ToArray ()» преобразуется в массив типа Object. Вам нужно будет привести массив к массиву String. Надеюсь, это поможет!

...