Diskuze: Více dotazů v jednom připojení ASP:NET
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Podle mě to děláš zbytečně složitě to načtení Id, nestačilo by něco takového?
SqlCommand cmd2 = new SqlCommand("SELECT TOP 1 [ID_Dic] FROM [T_Dic] ORDER BY [ID_Dic] DESC", cnn);
Kde se v podstatě ptám rovnou na id poslední položky, což je vždy ta
poslední přidaná.. (jinak je docela dobrý psát názvy tabulek a sloupečků
do hranatých závorek pro přehlednost). Docela by mě i teda zajímalo jestli
u tebe vůbec k zápisu do databáze dojde?, nebo jestli ti nejde jen to
načtení podle id?, nebo co přesně nefunguje?
DO databáze se nic nezapíše a ukazuje se chyba : There is no row at position 0 ... takže nejspíš nejsou data v datatable
Díky za tip na dotaz máš pravdu, že to co ukládám je vždy poslední......
Jak se ti může něco uložit do DB, když tam k tomu nemáš příkaz? Chybí ti tam
cmd.ExecuteNonQuery();
misto
//ULOŽÍ SE DIČ
SqlCommand cmd = new SqlCommand("INSERT INTO T_Dic(Dic, OsCislo, DatumZalozeni, Poznamka, ID_ECislo) Values(@Dic, @OsCislo, @DatumZalozeni, @Poznamka, @ID_ECislo)", cnn);
cmd.Parameters.AddWithValue("@Dic", tbxDic.Text);
cmd.Parameters.AddWithValue("@OsCislo", txbOsobniCislo.Text);
cmd.Parameters.Add("@DatumZalozeni", DateTime.Now);
cmd.Parameters.AddWithValue("@ID_ECislo", DropDownList1.SelectedValue.ToString());
cmd.Parameters.AddWithValue("@Poznamka", txbPoznamky.Text);
//NAČTE SE ID_DIČ
SqlCommand cmd2 = new SqlCommand("SELECT ID_Dic FROM T_Dic WHERE Dic = @Dic", cnn);
cmd2.Parameters.Add(new SqlParameter("Dic", System.Data.SqlDbType.NVarChar));// přidání parametru a určení datového typu
cmd2.Parameters["Dic"].Value = tbxDic.Text;// určení parametru odkuk vzít data
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd2);
da.Fill(dt);
string IDDic = dt.Rows[0]["ID_Dic"].ToString();
toto
SqlCommand cmd = new SqlCommand("INSERT INTO T_Dic(Dic, OsCislo, DatumZalozeni, Poznamka, ID_ECislo) OUTPUT INSERTED.ID_Dic Values(@Dic, @OsCislo, @DatumZalozeni, @Poznamka, @ID_ECislo)", cnn);
cmd.Parameters.AddWithValue("@Dic", tbxDic.Text);
cmd.Parameters.AddWithValue("@OsCislo", txbOsobniCislo.Text);
cmd.Parameters.Add("@DatumZalozeni", DateTime.Now);
cmd.Parameters.AddWithValue("@ID_ECislo", DropDownList1.SelectedValue.ToString());
cmd.Parameters.AddWithValue("@Poznamka", txbPoznamky.Text);
string IDDic=cmd.ExecuteScalar().ToString();
Moc děkuju, vše funguje jak má a díky za ten typ na zkrácení kódu
Ano, měl jsem se nejdřív podívat na celé znění toho vkládacího
dotazu...
Zobrazeno 9 zpráv z 9.