Member 13339127 Ответов: 3

Как получить результат запроса select в виде массива


Я хочу получить результат "select vmId from tblRate where userId=2"в виде массива.

Что я уже пробовал:

выберите vmId из tblRate, где userId=2

3 Ответов

Рейтинг:
2

Zahid Mughal

Вам нужно создать модель с тем же атрибутом, что и имя столбца результата запроса, и назначить результат этому файлу запроса, выполняющему запрос.

например:

Запрос:
Выберите * от сотрудника

Модель C# :
служащий государственного класса{
общественные Ид_сотрудника;
общественные Имя_сотрудника;
.
.
.
Так далее...
}

а теперь назначьте объект Employee результату запроса.

Надеюсь, это будет полезно для Вас, пожалуйста, не забудьте отметить мой хороший рейтинг. :)


[no name]

Мой пример кода:

List< employee> emp = новый список & lt;employee>();
var ds = новый набор данных();
ВАР соед = DACUtil.Метод getconnection();
пробовать
{
Команда sqlcommand cmd и = новая команда sqlcommand("Выберите * от сотрудника", соед);
SqlConnection con = cmd.Соединение;
против.Открыть();
использование (con)
{
SqlDataReader dr = cmd.Метода executereader();
если (dr. HasRows)
{
в то время как (dr. Read())
{
Сотрудник et = новый сотрудник();
Эт.Ид_сотрудника = Конвертировать.ToInt32(dr ["Employee_ID"]);
Эт.Имя_сотрудника = Конвертировать.Метод toString(д-р["Имя_сотрудника"]);
Эт.Employee_Phone =
Преобразовать.Метод toString(д-р["Employee_Phone"]);
Эт.Employee_Salary = Конвертировать.ToInt32(dr ["Employee_Salary"]);
Эт.Employee_Designation = Конвертировать.Метод toString(д-р["Employee_Designation"]);
Эми.Добавить(Эт);
}
}
}

}
поймать (исключение бывший) {
}

возвращение Эми;
}

Рейтинг:
1

GrpSMK

Как и в приведенном ниже примере, вы должны попробовать человека.

public class ClassName
{
    public string Col1 { get; set; }
    public int Col2 { get; set; }
}
Now you can use a loop to fill a list and ToArray if you really need an array:

ClassName[] allRecords = null;
string sql = @"SELECT col1,col2
               FROM  some table";
using (var command = new SqlCommand(sql, con))
{
    con.Open();
    using (var reader = command.ExecuteReader())
    {
        var list = new List<ClassName>();
        while (reader.Read())
            list.Add(new ClassName { Col1 = reader.GetString(0), Col2 = reader.GetInt32(1) });
        allRecords = list.ToArray();
    }
}


Рейтинг:
0

Kornfeld Eliyahu Peter

Строки DataTable уже могут быть доступны в виде двумерного массива (для этого есть некоторые индексаторы), например dt.Rows[0]["column1"], так что вам, вероятно, не нужно его конвертировать, но...

dt.Rows.Cast<DataRow>().Select(r => r.ItemArray).ToArray();