Dictionary и разные типы данных

Тема в разделе ".NET", создана пользователем rakot, 24 ноя 2010.

  1. rakot

    rakot Member

    Регистрация:
    9 июл 2009
    Сообщения:
    13
    Симпатии:
    0
    Уважаемые коллеги,ломаю голову над решением казалось бы простой задачи,но так как опыта очень мало то и соответственно исполнение не ахти,проблема в следующем:есть запрос к БД параметрами,их пять штук(один numeric,два varchar,два DateTime)Я создаю соединение с базой и все шикарно отрабатывает(если без запросов)но как мне записать их в Dictionary (в шарпе соответственно int,string,DateTime)если типы у них разные!
    Вот код:
    Код (Text):
              public void LoadData()
    {
    //Подключение к БД
    using (SqlConnection connection = new SqlConnection(ConnectString))
    {
    //Создаём экземпляр SqlDataAdapter
    SqlDataAdapter adap = new SqlDataAdapter();
    adap.SelectCommand = new SqlCommand(zapros, connection);
    foreach (KeyValuePair<string, string> t in gridparam)
    adap.SelectCommand.Parameters.Add(t.Key, t.Value);
    //Заполняем DataSource
    adap.Fill(dsSource);
    //Указываем источником данных для DataGrid DataSource
    dgView.DataSource = dsSource.Tables[0];
    вот конструктор:
    Код (Text):
    public DataGridForm()
    {
    InitializeComponent();
    dtFrom = DateTime.Now;
    dtTo = DateTime.Now;
    dtBegin.Value = dtFrom;
    dtEnd.Value = dtTo;
    //Параметры DataGrid
    dgView.AutoGenerateColumns = true;
    dgView.BorderStyle = BorderStyle.Fixed3D;
    gridparam = new Dictionary<string, string>();
    }
    все переменные являются параметрами контролов(своеобразный фильтр)
     
  2. BoYar

    BoYar Гость

    создаём класс, который является отображением таблицы из БД (т.е. с 5 полями: int, 2 string, 2 DateTime), при запросе к БД создаём экземпляр класса, заполняем поля и уже его запихиваем в словарь.

    либо можно использовать словарь вида Dictionary<TKEY, object> - при его использовании надо будет приводить данные к их начальному типу.
     
  3. rakot

    rakot Member

    Регистрация:
    9 июл 2009
    Сообщения:
    13
    Симпатии:
    0
    спасибо,проблема решена))
     
Загрузка...

Поделиться этой страницей