Nejde vlozit zaznam do databaze   otázka

C#, WinForms, Databáze

Pekny podvecer, resim ulohu v C#. Mam pridan do projektu databazovy soubor mdf. Vytvoril jsem DataSource, TableAdapter a DataSet. Do formulare jsem si dal textova pole a po stisknuti buttonu Save by se mel pridat zaznam do tabulky "Customer" v DB.

private void btnSave_Click (object sender, EventArgs e) {
     DateTime dt = DateTime.Now;
            
     this.customerTableAdapter.ClearBeforeFill = true;
     this.customerTableAdapter.Insert ((this.lSDataSet.Customer.Count + 1), txtBoxName.Text, txtBoxAddress.Text, dt, (short)numUpDwnAge.Value);
            
     this.Validate ();
     this.customerBindingSource.EndEdit ();
     this.customerTableAdapter.Update (this.lsDataSet.Customer);
     this.customerDataGridView.Refresh ();
}

Postisku dojde k pridani, protoze pri opetovnem stisknuti vyskoci vyjimka na jiz existujici primarni klic. Jenze kdy ukoncim aplikaci tak v tabulce nic neni. Do kodu jsem zatim nic rucne nedopisoval. Je to cisty projekt WinForm s DbSouborem mdf. Nic vic.

Predpokladam, ze problem bude nekde mezi tableadapterem a data source, kdy nedojde k ulozeni dat do datoveho zdroje. Jenze nemuzu nic najit. Ten kod ktery mam ve funkci btn_Save_Click mam z MSDN (upravil jsem).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Co je "pridan do projektu databazovy soubor mdf"? .mdf soubor je předpokládám datový soubor databáze MS SQL Server, který spolu se souborem logu .ldf tvoří databázi. Ta je v rámci SQL Serveru připojena a přístup k ní je pomoci nějakého connection stringu, kde se již soubor neuvádí ale uvede se jméno serveru (instance) a jméno databáze (a způsob přihlášení).

Ano ještě existuje možnost mít v connection stringu uveden přímo soubor databáze, to se pak jedná buď o lokální SQL Server Express User Instances nebo SQL Server Express LocalDB, které jsou určeny pro jednouživatelský přístup pro vývojové prostředí. Toto se ale používá ve webových aplikacích a ne WinForms.

Zkuste tedy přístup k databázi udělat klasicky jako každý pomoci connection stringu k databázi na SQL Serveru, a neřešit .mdf soubor, který se vám nejspíš jak to máte nějakým způsobem přehrává na prázdný.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback