Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 6. diel - Databázy v C# .NET - INSERT, UPDATE, DELETE a COUNT

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Maros2470
Člen
Avatar
Avatar
Odpovedá na Maros2470
Michal Štěpánek:27.4.2014 11:23

...a pak, že je ryba němá... :-)

Odpovedať
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Jan Sála
Tvůrce
Avatar
Jan Sála:15.8.2014 11:27

Zdravím moc pěkný článek.
Mám dotaz. Já když vložím data do tabulky tak mi to tu tabulku sice updatuje( v tom programu to poznám) ale když spustím znova aplikace tak je ta tabulka stejná jako předtím a všechna předtím vložená data jsou pryč.
Je nějaký příkaz k synchronizaci nebo něco dělám špatně - zde je kód:

private void import_Click(object sender, RoutedEventArgs e)
{
    System.Windows.Forms.OpenFileDialog open = new System.Windows.Forms.OpenFileDialog();
    if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        string connectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Data\Slovicka.mdf;Integrated Security=True";
        string[] data = System.IO.File.ReadAllLines(open.FileName);
        for (int i = 0; i < data.Length; i++)
        {
            string[] zaznam = data[i].Split(';');
            using (SqlConnection pripojeni = new SqlConnection(connectionString))
            {
                pripojeni.Open();
                SqlCommand prikaz = new SqlCommand("INSERT INTO Preklad (Spanelsky, Rod, Cesky1, Cesky2, Cesky3, Cesky4, Ucebnice, Lekce, Kategorie, Nepravidelné) VALUES (@sp, @rod, @cz1, @cz2, @cz3, @cz4, @ucebnice, @lekce, @kat, @pravid)", pripojeni);
                prikaz.Parameters.AddWithValue("@sp", zaznam[0]);
                prikaz.Parameters.AddWithValue("@rod", zaznam[1]);
                prikaz.Parameters.AddWithValue("@cz1", zaznam[2]);
                prikaz.Parameters.AddWithValue("@cz2", zaznam[3]);
                prikaz.Parameters.AddWithValue("@cz3", zaznam[4]);
                prikaz.Parameters.AddWithValue("@cz4", zaznam[5]);
                prikaz.Parameters.AddWithValue("@ucebnice", zaznam[6]);
                prikaz.Parameters.AddWithValue("@lekce", Convert.ToInt16(zaznam[7]));
                prikaz.Parameters.AddWithValue("@kat", zaznam[8]);
                prikaz.Parameters.AddWithValue("@pravid", zaznam[9]);
                int a = prikaz.ExecuteNonQuery();
            }
        }
    }
}

P.S. vím že by se ten kód dal udělat cyklicky ale je to jen dočasné řešení potřebuji ho jen na převádění z csv do tabulky

Odpovedať
Když nevím co s tím, tak je chyba v compileru.
Avatar
Odpovedá na Jan Sála
Michal Štěpánek:15.8.2014 11:34

Nemáš někde v programu nastaveno, že se má po startu ta databáze smazat a vytvořit nová?

Odpovedať
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Jan Sála
Tvůrce
Avatar
Jan Sála:15.8.2014 11:40

jako žádnou metodu on load tam nemám takže c# kódem nic rozhodně nemažu ani neobnovuji - nenastavuje se něco takového v properties ?

Odpovedať
Když nevím co s tím, tak je chyba v compileru.
Avatar
honza86
Člen
Avatar
honza86:29.10.2014 15:11

Zdravim,
zkoušim přidat slovo do DB ale pořád mi to padá u příkazu ExecuteNonQuery(); databázi jsem vytvořil lokální .mdf tak jestli v tom neni problém.

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnUloz_Click(object sender, EventArgs e)
        {
            string connectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=c:\users\jan.******\documents\visual studio 2012\Projects\PokusDB2\PokusDB2\Database1.mdf;Integrated Security=True";
            using (SqlConnection pripojeni = new SqlConnection(connectionString))
            {
                pripojeni.Open();
                //lblZprava.Text = "OK";
                string slovo = textBox1.Text;
                string dotaz = "INSERT INTO Table(Slovo) VALUES (@slovo)";
                using (SqlCommand sqlDotaz = new SqlCommand(dotaz, pripojeni))
                {
                    sqlDotaz.Parameters.AddWithValue("@slovo", slovo);
                    int radku = sqlDotaz.ExecuteNonQuery();
                   lblZprava.Text = radku.ToString();
                }

            }//Data Source=(LocalDB)\v11.0;AttachDbFilename="C:\Users\jan.*****\Documents\Visual Studio 2012\Projects\PokusDB2\PokusDB2\Database1.mdf";Integrated Security=True;
        }
    }
}
Editované
Avatar
Odpovedá na honza86
Michal Štěpánek:29.10.2014 18:40

A při použití stejného connectionstringu na select ti to funguje?

Editované
Odpovedať
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
honza86
Člen
Avatar
honza86:29.10.2014 20:11

U selectu je to stejné spadne to ne ExecuteScalar(); myslim že problém bude v connectString. Tak co s tím nejde ten connectString nějak upravit. Databázi jsem dělal ve Visual studiu k projektu jsem připojil součást a dal Service based database.

Avatar
Odpovedá na honza86
Michal Štěpánek:29.10.2014 21:58

Connectionstring je zapsán v App.Config. Tam se dá změnit. Najdi si, kde je uložen ten tvůj mdf soubor a pak si uprav cestu...

Odpovedať
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
honza86
Člen
Avatar
Odpovedá na Michal Štěpánek
honza86:30.10.2014 5:53

Cesta je dobrá spíš jde o tom v jaké formě je ten ConnectString (CS). u normální DB CS vypadá takto

Data Source=localhost\MSSQLSERVER2008;Initial Catalog=SlovnicekDB;Integrated Security=True

a pak se před to dá @" a nakonec je "
ale u té mé je CS tento

Data Source=(LocalDB)\v11.0;AttachDbFilename="C:\Users\Honza\documents\visual studio 2013\Projects\pokusConsole\pokusConsole\Database2.mdf";Integrated Security=True

už je v uvozovkách cesta, kde je soubor takže když před to dám @" a na konec " tak už cesta nebude v uvozovkách ale první a třetí třetina řetězce a ten střed zůstane bez uvozovek.
Tak jestli ten CS nemusí být nastaven jinak když to neni klasická DB ale je to soubor.mdf

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 59.