C# сохраняет DataTable в синхронизации с базой данных

Я пишу интерфейс только для чтения для базы данных и не могу найти способ синхронизировать данные. Я могу запросить базу данных и поместить результаты в DataTable, а затем присоединить их к DataSet и использовать в качестве DataSource для DataGridView. Я борюсь с обновлением строк в DataTable / DataSet, а изменения отражаются в DataGridView.

    DataTable orders = new DataTable();
    DataTable lines = new DataTable();
    DataSet dataSet = new DataSet();
    private string orderQuery = "SELECT oh_ord_no AS OrderID, oh_stat AS OrderStatus, oh_cu_no AS CustomerID, cus_name AS CustomerName, cus_price_no AS PriceBand, cus_ac_manager AS AccountManager, oh_ord_type AS OrderType, oh_ord_ref AS OrderReference, oh_del_meth AS DeliveryMethod, oh_op_no AS InputBy, oh_route_no AS Route, CAST(SQL_DATE,DATEADD(day,-1,oh_ord_date)) AS OrderDate, CAST(SQL_DATE,DATEADD(day,-1,oh_del_date)) AS DeliveryDate, oh_head_text AS HeaderText, oh_foot_text AS FooterText, oh_total_units AS TotalUnits, oh_ord_value AS OrderValue, CAST(SQL_DATE,DATEADD(day,oh_status_change_date,'1899-12-31')) AS StatusChangeDate, oh_status_change_time AS StatusChangeTime, oh_conf_no FROM admin.sffoh1 LEFT JOIN admin.sdfcus ON oh_cu_no = cus_no";
    private string orderLines = "SELECT ilf_ord_no AS OrderID, ilf_prod_ptr AS ProductID FROM admin.sffilf";
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        orders = SwordsData.GetData(orderQuery, "orders");
        orders.AcceptChanges();
        lines = SwordsData.GetData(orderLines, "lines");
        dataSet.Tables.Add(orders);
        dataSet.Tables.Add(lines);
        dataview.DataSource = dataSet;
        dataview.DataMember = "orders";
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
        orders.Reset();
        orders = SwordsData.GetData(orderQuery, "orders");
        lines = SwordsData.GetData(orderLines, "lines");
        dataSet.GetChanges();
    }

Это то, что у меня есть до сих пор. Я просто не могу найти в Интернете ничего, что могло бы мне помочь :(

Мы будем очень благодарны за любую помощь или совет. Ли.

Почему ты хочешь это сделать? Это действительно путь зла. Запросить базу данных напрямую.

Tim Schmelter 30.10.2018 11:14

Отбросьте DataSet и используйте BindingSources в качестве источника данных для DGV. Подключите BindingSource к вашему DataTable, и тогда изменения будут автоматически обновлены в вашем DGV.

GuidoG 30.10.2018 11:48

@GuidoG Это сработало, большое спасибо.

Lee Morgan 30.10.2018 12:15
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
545
0

Другие вопросы по теме