Forum » Programiranje » C# postgresql - while zanka se drugič ne izvede
C# postgresql - while zanka se drugič ne izvede
urkrajnc ::
Pozdravljeni vsi skupaj.
Torej problem je sledeč. Izdelujem Windows aplikacijo v C#. Program, ki ga pišem, bo spletna redovalnica (maturitetni izdelek), ki bo dostopal do bazepodatkov (ocen, ...). Jaz se povežem z bazo, vse podatke prvič prečita pravilno, vendar ko drugič kličem Form1_Load se mi ena izmed while zank ne zažene več.
En del kode, ki "ne" deluje kot bi moralo:
Ko se mi odpre Forma, se loada, in izpišejo se vse ocene, ki so pridobljene z baze. Ko kliknem na button, se mi števec poveča za 2 (izbere dijaka, ki je drugi v polju prečitanih imen) in forma se naloži še en krat.
Tale prvi while (ucenciRead.Read()) stavek se izvede pravilno, sepravi mi izpiše novega učenca, vendar vsak naslednji while stavek se ne izvede. Prečekiral sem z debuggerjem, šel korak za korakom, vendar ko pride do naslednje while zanke jo preprosto preskoči (ja pogoj ni pravi). Kako bi moral bit pogoj "nastavljen" nimam pojma. Zanimivo pa je, da sta spodni in zgorni del kode "enaka", samo imena "spremenljivk" in SELECT stavek imata drugi.
Torej če ima kdo kakšno zamisel, ali kar koli, le na dlan z odgovori.
Pomoč povezave postgres in c# (http://npgsql.projects.postgresql.org/d...
Hvala za pomoč!
Lp, Uroš
Torej problem je sledeč. Izdelujem Windows aplikacijo v C#. Program, ki ga pišem, bo spletna redovalnica (maturitetni izdelek), ki bo dostopal do bazepodatkov (ocen, ...). Jaz se povežem z bazo, vse podatke prvič prečita pravilno, vendar ko drugič kličem Form1_Load se mi ena izmed while zank ne zažene več.
En del kode, ki "ne" deluje kot bi moralo:
private void Form1_Load(object sender, EventArgs e) { NpgsqlCommand ucenci = new NpgsqlCommand("SELECT priimek, ime FROM dijaki WHERE dijaki.id_razred = " + idRazred + ";", conn2); IDataReader ucenciRead = ucenci.ExecuteReader(); try { while (ucenciRead.Read()) { priimekUcenci[j] = ucenciRead.GetString(ucenciRead.GetOrdinal("priimek")); imeUcenci[j] = ucenciRead.GetString(ucenciRead.GetOrdinal("ime")); toolStripComboBox1.Items.Add(priimekUcenci[j] + " " + imeUcenci[j]); j++; } j = 0; } catch (Exception msg) { // something went wrong, and you wanna know why MessageBox.Show(msg.ToString()); } tbImePriimek.Text = imeUcenci[stevec] + " " + priimekUcenci[stevec]; NpgsqlCommand ID2 = new NpgsqlCommand("SELECT id_dijak FROM dijaki WHERE dijaki.priimek = '" + priimekUcenci[stevec] + "' and dijaki.ime='" + imeUcenci[stevec] + "' and dijaki.id_razred=" + idRazred + ";", conn2); int izpisID2 = (int)ID2.ExecuteScalar(); tbStOsebniList.Text = Convert.ToString(izpisID2); //OCENE ZA MATEMATIKO NpgsqlCommand matCommand = new NpgsqlCommand("SELECT ocena FROM matematika, dijaki WHERE matematika.id_dijak = dijaki.id_dijak and dijaki.id_dijak = '" + izpisID2 + "';", conn2); IDataReader matRead = matCommand.ExecuteReader(); try { while (matRead.Read()) { matOcene[i] = matRead.GetString(matRead.GetOrdinal("ocena")); textBox13.Text = matOcene[0]; textBox12.Text = matOcene[1]; textBox11.Text = matOcene[2]; textBox10.Text = matOcene[3]; i++; } i = 0; } catch (Exception msg) { // something went wrong, and you wanna know why MessageBox.Show(msg.ToString()); } and some other code.. So, when form is load for the first time, this code work perfect. Then I click button where happend this: private void button1_click(object sender, EventArgs e) { stevec = 2; Stran1_Load(sender, e); }
Ko se mi odpre Forma, se loada, in izpišejo se vse ocene, ki so pridobljene z baze. Ko kliknem na button, se mi števec poveča za 2 (izbere dijaka, ki je drugi v polju prečitanih imen) in forma se naloži še en krat.
Tale prvi while (ucenciRead.Read()) stavek se izvede pravilno, sepravi mi izpiše novega učenca, vendar vsak naslednji while stavek se ne izvede. Prečekiral sem z debuggerjem, šel korak za korakom, vendar ko pride do naslednje while zanke jo preprosto preskoči (ja pogoj ni pravi). Kako bi moral bit pogoj "nastavljen" nimam pojma. Zanimivo pa je, da sta spodni in zgorni del kode "enaka", samo imena "spremenljivk" in SELECT stavek imata drugi.
Torej če ima kdo kakšno zamisel, ali kar koli, le na dlan z odgovori.
Pomoč povezave postgres in c# (http://npgsql.projects.postgresql.org/d...
Hvala za pomoč!
Lp, Uroš
fiction ::
Jah, tezko reci po tem ko ne vidimo vsebine tabel. Ampak a je ta drugi ucenec sploh hodil na matematiko?
Zanka se ocitno ne izvede ker SELECT SQL stavek nicesar ne vrne. Ali pa pride ze pri ExecuteReader()
do kaksnega exceptiona, ki ga ti ne ujames.
Zanka se ocitno ne izvede ker SELECT SQL stavek nicesar ne vrne. Ali pa pride ze pri ExecuteReader()
do kaksnega exceptiona, ki ga ti ne ujames.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Access 2007]Oddelek: Programiranje | 2627 (2227) | urosz |
» | VC# insert into oledb ne delujeOddelek: Programiranje | 1637 (1408) | Good Guy |
» | razložitev nekaterij elementov v visual studio 05Oddelek: Programiranje | 2110 (1915) | darkolord |
» | problem v C#Oddelek: Programiranje | 1971 (1686) | dvojka |
» | branje byte[] iz MS access-ove bazeOddelek: Programiranje | 1939 (1849) | BHawk |