pomoc

pomoc

offline
  • Pridružio: 24 Nov 2009
  • Poruke: 128
  • Gde živiš: Zemun

Heloo svima.
Imam tabelu korisnici koja sadrzi id, ime, br_racuna,.......
e sad kada vrsim pretragu po br_racuna i kada postoji korisnik sa zadatim brojem sve radi kako treba, ali ja zelim da ukoliko neko ukuca broj racuna a ne postoji klijent u tabeli da mi se izbaci poruka o tome. Evo koda koji koristim i funkcionise kada je u pitanju broj koji postoji u bazi:

string upit1 = "SELECT nazivkupca from dbo.Kupci where brracuna ='" + textBox1.Text + "'";
SqlCommand komanda1 = new SqlCommand();
komanda1.Connection = konekcija;
komanda1.CommandType = CommandType.Text;
komanda1.CommandText = upit1;
SqlDataReader reader1 = null;
try
{
konekcija.Open();
reader1 = komanda1.ExecuteReader();
if (reader1 != null)
{
while (reader1.Read())
{
textBox2.Text = (reader1[0].ToString());
}
}
else
{
MessageBox.Show("RADI!!!!");
}
konekcija.Close();
}
catch (Exception xcp)
{
MessageBox.Show(xcp.ToString());
throw;
}


PLEASE HELP!




Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Ne treba ti if (reader1 != null) jer ne moze biti null kada si odradio ExecuteReader.

Stavi npr. ovako (boldovan text je dodat):

bool exist = false;
string upit1 = "SELECT nazivkupca from dbo.Kupci where brracuna ='" + textBox1.Text + "'";
SqlCommand komanda1 = new SqlCommand();
komanda1.Connection = konekcija;
komanda1.CommandType = CommandType.Text;
komanda1.CommandText = upit1;
SqlDataReader reader1 = null;
try
{
konekcija.Open();
reader1 = komanda1.ExecuteReader();

while (reader1.Read())
{
textBox2.Text = (reader1[0].ToString());
exist = true;
}

konekcija.Close();

if (!exist)
// nema podataka

}
catch (Exception xcp)
{
MessageBox.Show(xcp.ToString());
throw;
}

I malo mi je nejasno sto ovo radis -> textBox2.Text = (reader1[0].ToString());

Ako ti sql vraca vise korisnika, u textboxu ce ti biti zadnji, a ako ti sql vraca jednog korisnika, onda ti while ni netreba, kao ni onaj boldovani text sto sam dodao, jer onda mozes da uradis:

if (reader1.Read())     // uzmes podatak iz baze else     // nema podataka



offline
  • Pridružio: 24 Nov 2009
  • Poruke: 128
  • Gde živiš: Zemun

Tnx munjo TO je TO!

Citat:I malo mi je nejasno sto ovo radis -> textBox2.Text = (reader1[0].ToString());
TextBox koristim da bih mi se rezultat ispisao na formi koja ce se otvoriti ukoliko ima rezultata, tj ukoliko je pronadjen korisnik ( a samim tim i svi njegovi podatci (JMBG, Adresa, itd.)

Jos jednom hvala puno - spasao si me!

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Pogresno sam se izrazio. Smile

Za taj code sam mislio da ako ti sql vraca vise zapisa (zbog while), onda ce textbox sadrzati onaj zadnji koji je vracen, a ako vraca samo jedan zapis, onda ok.

Poz.

Ko je trenutno na forumu
 

Ukupno su 1002 korisnika na forumu :: 44 registrovanih, 7 sakrivenih i 951 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., aleksmajstor, Alibaba1981, Apok, aramis s, BlekMen, Boris90, Brana01, bufanje, darkangel, dmdr, draganca, Dukelander, FOX, Frunze, Georgius, ivan979, kairos, Kibice, Kubovac, kybonacci, ladro, laurusri, ljuba, manda87, Marko.anticc, menges, mihajlo.hrin, milenko crazy north, Motocar, nemkea71, opt1, sasa87, sickmouse, sombrero, Steeeefan, VJ, voja64, YU-UKI, zdrebac, Zerajic, zillbg, Čivi, 79693