Вопрос Datatable in c#

Начинающий
Статус
Оффлайн
Регистрация
17 Май 2019
Сообщения
72
Реакции[?]
5
Поинты[?]
0
Проблема такая
Я получаю в datatable из sql запроса инфу о пользователе, каким образом я могу это переместить в класс?
 
Олдфаг
Статус
Оффлайн
Регистрация
18 Фев 2019
Сообщения
2,826
Реакции[?]
1,853
Поинты[?]
24K
Проблема такая
Я получаю в datatable из sql запроса инфу о пользователе, каким образом я могу это переместить в класс?
Нашел небольшой пример на просторах интеренета:
C#:
var customers = new List<Customer>();
string sql = "SELECT * FROM customers";
using (var cnn = new SqlConnection(
    "Data Source=Your_Server;Initial Catalog=Your_Database;Integrated Security=SSPI;")) {
    cnn.Open();
    using (var cmd = new SqlCommand(sql, cnn))
    using (SqlDataReader reader = cmd.ExecuteReader()) {
        int custIdOrdinal = reader.GetOrdinal("CustomerID");
        int nameOrdinal = reader.GetOrdinal("Name");
        int imageOrdinal = reader.GetOrdinal("Image");
        while (reader.Read()) {
            var customer = new Customer();
            customer.CustomerID = reader.GetInt32(custIdOrdinal);
            customer.Name = reader.IsDBNull(nameOrdinal)
                            ? null
                            : reader.GetString(nameOrdinal);
            if (!reader.IsDBNull(imageOrdinal)) {
                var bytes = reader.GetSqlBytes(imageOrdinal);
                customer.Image = bytes.Buffer;
            }
            customers.Add(customer);
        }
    }
}
Думаю, разберешься, где находится присваивание и получение данных из таблицы.
 
Начинающий
Статус
Оффлайн
Регистрация
17 Май 2019
Сообщения
72
Реакции[?]
5
Поинты[?]
0
Нашел небольшой пример на просторах интеренета:
C#:
var customers = new List<Customer>();
string sql = "SELECT * FROM customers";
using (var cnn = new SqlConnection(
    "Data Source=Your_Server;Initial Catalog=Your_Database;Integrated Security=SSPI;")) {
    cnn.Open();
    using (var cmd = new SqlCommand(sql, cnn))
    using (SqlDataReader reader = cmd.ExecuteReader()) {
        int custIdOrdinal = reader.GetOrdinal("CustomerID");
        int nameOrdinal = reader.GetOrdinal("Name");
        int imageOrdinal = reader.GetOrdinal("Image");
        while (reader.Read()) {
            var customer = new Customer();
            customer.CustomerID = reader.GetInt32(custIdOrdinal);
            customer.Name = reader.IsDBNull(nameOrdinal)
                            ? null
                            : reader.GetString(nameOrdinal);
            if (!reader.IsDBNull(imageOrdinal)) {
                var bytes = reader.GetSqlBytes(imageOrdinal);
                customer.Image = bytes.Buffer;
            }
            customers.Add(customer);
        }
    }
}
Думаю, разберешься, где находится присваивание и получение данных из таблицы.
Большое спасибо
 
Новичок
Статус
Оффлайн
Регистрация
5 Май 2021
Сообщения
1
Реакции[?]
0
Поинты[?]
0
C#:
static void Main()
{
    List<MyClass> list = new List<MyClass>();

    using(SqlConnection sql = new SqlConnection("Data Source=Your_Server;Initial Catalog=Your_Database;Integrated Security=SSPI;"))
    {
        sql.Open();

        using(SqlCommand command = new SqlCommand("SELECT id, name, date FROM mytable WHERE date > @date", sql))
        {
            command.Parameters("@date", DateTime.Now);

            DataTable table = new DataTable();
            SqlDataAdapter dataAdapter = new SqlDataAdapter();
            dataAdapter.SelectCommand = command;
            dataAdapter.Fill(table);

            foreach(DataRow row in table.Rows)
            {
                list.Add(new MyClass
                {
                    id = (int)row["id"],
                    name = (string)row["name"],
                    date = (DateTime)row["date"]
                });
            }
        }
    }
}

class MyClass
{
    public int id;
    public string name;
    public DateTime date;
}
 
Последнее редактирование:
Сверху Снизу