|
Poslao: 20 Sep 2010 16:08
|
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.
|
|
|
Poslao: 20 Sep 2010 16:46
|
offline
- snoop

- Genghis Khan
- 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
|
|
|
|
|
|
|
Poslao: 21 Sep 2010 00:02
|
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!
|
|
|
|
|
|
|
Poslao: 21 Sep 2010 01:08
|
offline
- snoop

- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
Pogresno sam se izrazio.
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.
|
|
|
|
|
|