C # Альтернатива универсальным датируемым - PullRequest
0 голосов
/ 13 ноября 2018

Пожалуйста, смотрите следующее:

public static DataTable GetSqlDataTable(string connStr, string strSqlStatement)
{
    DataTable dt = new DataTable();
    SqlDataAdapter dA = new SqlDataAdapter();

    try
    {
        SqlConnection conn = new SqlConnection(connStr);
        dA.SelectCommand = new SqlCommand(strSqlStatement, conn);
        dA.Fill(dt);
        return dt;
    }
    catch (Exception exc)
    {
        throw exc;
    }
}

Как я могу использовать object вместо контейнера универсальных данных, чтобы избежать этих таблиц универсальных данных?

1 Ответ

0 голосов
/ 14 ноября 2018

Сначала вам нужно создать объект:

public class MyObj
{
    public string Name { get; set; }
    public int ID { get; set; }
}

Затем создайте объекты при чтении данных sql:

private static IEnumerable<MyObj> ReadOrderData(string connectionString)
    {
        string queryString =
            "SELECT OrderID, CustomerID FROM dbo.Orders;";

        using (SqlConnection connection =
                   new SqlConnection(connectionString))
        {
            SqlCommand command =
                new SqlCommand(queryString, connection);
            connection.Open();

            SqlDataReader reader = command.ExecuteReader();

            // Call Read before accessing data.
            while (reader.Read())
            {
               yield return ReadSingleRow((IDataRecord)reader);
            }

            // Call Close when done reading.
            reader.Close();
        }
    }

    private static MyObj ReadSingleRow(IDataRecord record)
    {
        return new MyObj{ ID = record[0], Name = record[1]};
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...