problem z pobraniem danych z SQL

Odpowiedz Nowy wątek
2011-07-12 20:36
0

Witam,

Na początku zaznczę, że w dziedzinie C# jestem na poziomie "początkujący".

W Microsoft Visual C# 2010 Express Utworzyłem aplikację okienkową oraz bazę danych SQL (.mdf). Próbuję pobrać dane z tabeli o nazwie "logowanie", kolumna "hasło", żeby móc je porównać z hasłem jakie użytkownik wpisze do texbox. Mój kod wygląda następująco:

 
SqlDataAdapter DA_haslo = new SqlDataAdapter("SELECT haslo FROM logowanie WHERE (login LIKE '%' + @textBox_login + '%')", logowanie);
 
DataSet dataset_haslo = new DataSet();
dataset_haslo.Tables.Add("logowanie");
DA_haslo.Fill(dataset_haslo, "logowanie");
 
foreach (DataRow row in dataset_haslo.Tables[0].Rows)
{
if (row.ToString() == textBox.Text)
{
....
}                
}

Debugowanie kończy się w tym miejscu:

 
DA_aktywny.Fill(dataset_aktywny, "logowanie");

Komunikatem o następującej treści "Must declare the scalar variable "@textBox_login"."

Proszę o pomoc w znalezieniu tego diabelnego (bo pewnie małego) błędu. Z górzy dziękuję za wszystkie sugestie.

edytowany 1x, ostatnio: Aaaa123, 2011-07-12 20:41

Pozostało 580 znaków

2011-07-12 20:54
0

A zrób tak:

"SELECT haslo FROM logowanie WHERE login ='" + textBox_login + "'";

Idiots, idiots everywhere.
edytowany 1x, ostatnio: allocer, 2011-07-12 21:39

Pozostało 580 znaków

2011-07-12 21:17
0

Dziękuję za podpowiedź,

już zabieram się do poprawiania.

Pozostało 580 znaków

2011-07-13 10:56
0

Ja myślę że tak:

string.Format("SELECT haslo FROM logowanie WHERE login = '{0}'", textBox_login.Text);


Pozostało 580 znaków

2011-07-13 13:12
ŁF
0

jeszcze poczytaj sobie o sql injection, bo za pomocą tak napisanego kodu nawet początkujący hacker zrobi, co będzie chciał z bazą danych, włącznie z dropem.


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0