Объект класса в базу данных, поля базы данных изменяются в зависимости от условий C # - PullRequest
0 голосов
/ 01 октября 2019

У меня есть текстовый файл, из которого я читаю (построчно, используя StreamReader) данные, сначала в Datagridview, а затем в Access Database. Я разделяю каждую строку и сохраняю их в объекте (объект). Я добавляю каждый объект Obj в список, а затем с помощью цикла foreach я могу поместить его в таблицу данных и базу данных.

class Obj
{   
    public int yr, mon, day, cihazNo ;
    public string kartno { get; set; }
    public string grisSaat { get; set; }
    public string cihazID{ get; set; }
    public string cihaz
    {
        get
        {
            return (cihazNo == 1) ? "Giris" : "Cikis";
        }
    }

    public string Tarih
    {
        get
        {
            return string.Format("{0:D2}/{1:D2}/20{2:D2}", day, mon, yr);
        }
    }

}

С помощью вышеупомянутого объекта я хочу заполнить поле базы данных ENTRYTIME

значениями времени, если устройство имеет значение «Вступление», и наоборот. Теперь я буду читать данные во второй раз, и таблица должна быть обновлена ​​только с ENTRYTIME или EXISTTIME. Это то, что я пытался, но не смог достичь своей цели - :) Кстати, я студент

try
{

    foreach (var item in ObjListe)
    {
        gircikTableAdapter.Insert(
            item.kartno,
            item.grisSaat,
            Convert.ToDateTime(item.Tarih),
            item.cihaz, null
            );

        this.Validate();
        this.gircikBindingSource.EndEdit();
        this.gircikTableAdapter.Update(this.databaseDataSet.Gircik);
    }

    MessageBox.Show("Saved!");
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

Мне нужна помощь, чтобы справиться с этим. Как можно прочитать строку, сохранить grisSaat в поле ENTRY, а следующую строку Store - в поле Exist. Или какой лучший подход вы предлагаете.

Таблица выглядит следующим образом:

| Kartno | GSaat | CSaat | Cihaz |  Tarih   |
-------------------------------------------
|00001   |8:30   |       | 00    |04/12/2018|
|00002   |8:30   |       | 00    |04/12/2018|
|00003   |7:34   |       | 00    |04/12/2018|
|00004   |8:24   |       | 00    |05/12/2018|
|00005   |8:26   |       | 00    |05/12/2018|

Это после первой вставки, то есть данные grisSaat вставляются в столбец GSaat,Теперь при втором чтении файла .txt изменятся только значения grisSaat, и я хочу, чтобы они теперь заполнили поле CSaat (это я и имел в виду, обновляя таблицу :)) Возможно, существует другой подход, но я нет сейчас. После обновления таблицы она должна выглядеть так:

| Kartno | GSaat | CSaat | Cihaz |  Tarih   |
-------------------------------------------
|00001   |8:30   |18:37  | 00    |04/12/2018|
|00002   |8:30   |16:28  | 00    |04/12/2018|
|00003   |7:34   |18:30  | 00    |04/12/2018|
|00004   |8:24   |18:39  | 00    |05/12/2018|
|00005   |8:26   |18:10  | 00    |05/12/2018|
...