Zapis Bazy danych

0

Witam

Korzystam z Linq to sql to mam taki problem:

  • wyświetlam dane z bazy danych w DataGridView, nanoszę zmiany w tabeli i wykonuję polecenie KlienciALL.SubmitChanges(); ale niestety zmiany nie zachowują się w bazie danych po wyłączeniu programu.
    Prośba o pomoc jak zapisać tabelę.
0

No i co mamy zrobić?
Jak by to było forum motoryzacyjne to byś napisał: Mam niebieskiego Passata, nie działa. Jak naprawić?
POKAŻ KOD

0

Niestety nie ma co pokazywać. Cały kod składa się z:

  klienciBindingSource.DataSource = KlienciALL.Kliencis;
 KlienciALL.SubmitChanges(); 

Reszta to są wygenerowane automatycznie datagridview i formularz z DataSource.

0

No to traktuj obecnych tu programistów poważnie. Próbujesz zapisywać do bazy danych, a nie wiesz, że edycja pola w DTGV to zdarzenie, w reakcji, na które powinno się zapisywać. Podstawy, Podstawy, Podstawy...

0

A baza danych jest gdzieś na stałe, czy np. w pliku kopiowanym do katalogu debug aplikacji podczas kompilacji? Bo jeśli to drugie, to po restarcie programu nigdy nie zobaczysz zapisanych danych.

P.S. Czemu uczysz się technologi porzuconej lata temu?

0

To jaką technologie teraz wybrać? Enity?

0

Spróbowałem zrobić to samom tylko w Entity, poniżej kod:

   public partial class Form1 : Form
    {
        AdresyEntities bazaDanychAdresy;
        bool daneZmienione;

        public Form1()
        {
            InitializeComponent();
           
        }

        private void button1_Click(object sender, EventArgs e)
        {
          
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            bazaDanychAdresy = new AdresyEntities();
            bazaDanychAdresy.Klients.Load();
            dataGridView1.DataSource = bazaDanychAdresy.Klients.Local.ToBindingList<Klient>();
            daneZmienione = false;
        }

        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            daneZmienione = true;
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!daneZmienione) return;
                switch (MessageBox.Show("Czy zapisać zmiany do bazy danych?", this.Text,
                MessageBoxButtons.YesNoCancel))
                {
                case DialogResult.Cancel:
                e.Cancel = true;
                break;
                case DialogResult.Yes:
                try
                {
                this.Validate();
                bazaDanychAdresy.SaveChanges();
                bazaDanychAdresy.Dispose();
                }
                catch (Exception exc)
                {
                MessageBox.Show("Zapisanie danych nie powiodło się ("+exc.Message+")");
                }
                break;
                case DialogResult.No:
                break;
                }
        }
    }

Wszystko niby ładnie działa ale nadal nie zapisuje danych w bazie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1