|
22.10.2010., 00:07 | #1 |
Registered User
Datum registracije: Aug 2009
Lokacija: N/A
Postovi: 46
|
SQL count
Pozz ljudi, Npr, hoću da prebrojim sve one koji se zovu "dario"(prepostavimo da se u bazi nalazi jedan "dario"): string selectString = ("SELECT count(username) FROM tabela WHERE username= ' " + textBox1.Text + " '"); SqlCommand mySqlCommand = new SqlCommand(selectString,mySqlConnection); int count = (int)mySqlCommand.ExecuteScalar(); Kao rezultat mi vraća 0. Međutim kad postavim ovo vraća mi 1 kao sto i je. string selectString = ("SELECT count(username) FROM tabela WHERE username='dario'); SqlCommand mySqlCommand = new SqlCommand(selectString,mySqlConnection); int count = (int)mySqlCommand.ExecuteScalar(); Zasto u prvom primjeru ne vraća 1. |
22.10.2010., 08:30 | #2 |
Registered User
Datum registracije: Jul 2009
Lokacija: Sisak
Postovi: 27
|
Imaš malo viška razmaka kada spajaš string iz textBoxa s jednostrukim navodnicima. U tvom slučaju je SELECT tražio string ' dario ', a ne 'dario'. Probaj ovako: Code:
.... string selectString = "SELECT count(username) FROM tabela WHERE username = '" + textBox1.Text + "'"; .... |
|
|
Oglas
|
|
22.10.2010., 09:06 | #3 |
Premium
Datum registracije: Dec 2007
Lokacija: Zagabria
Postovi: 490
|
Samo bih ti preporučio da koristiš parametriziranje kako bi spriječio SQL injection... Dodaj System.Data namespace prvo... Code:
string selectString = ("SELECT count(username) FROM tabela WHERE username= @username"); SqlCommand mySqlCommand = new SqlCommand(selectString,mySqlConnection); mySqlCommand.Parameters.Add("@username", SqlDbType.String).Value = textbox1.Text; int count = (int)mySqlCommand.ExecuteScalar(); |
22.10.2010., 16:49 | #4 | |
Registered User
Datum registracije: Aug 2009
Lokacija: N/A
Postovi: 46
|
Citiraj:
Hvala. |
|
22.10.2010., 16:50 | #5 | |
Registered User
Datum registracije: Aug 2009
Lokacija: N/A
Postovi: 46
|
Citiraj:
|
|
|
|
Oglas
|
|
|
|