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

  • Автор темы Автор темы rakot
  • Дата начала Дата начала
R

rakot

Уважаемые коллеги,ломаю голову над решением казалось бы простой задачи,но так как опыта очень мало то и соответственно исполнение не ахти,проблема в следующем:есть запрос к БД параметрами,их пять штук(один numeric,два varchar,два DateTime)Я создаю соединение с базой и все шикарно отрабатывает(если без запросов)но как мне записать их в Dictionary (в шарпе соответственно int,string,DateTime)если типы у них разные!
Вот код:
Код:
		  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];
вот конструктор:
Код:
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>();
}
все переменные являются параметрами контролов(своеобразный фильтр)
 
создаём класс, который является отображением таблицы из БД (т.е. с 5 полями: int, 2 string, 2 DateTime), при запросе к БД создаём экземпляр класса, заполняем поля и уже его запихиваем в словарь.

либо можно использовать словарь вида Dictionary<TKEY, object> - при его использовании надо будет приводить данные к их начальному типу.
 
спасибо,проблема решена))
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab