C# и SqlParameter или вытащить переменную в запросе

Язык C#: программирование на C#, портирование кода C# на VB и VB на C#.

Модератор: Ramzes

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

C# и SqlParameter или вытащить переменную в запросе

Сообщение dmitriy22 » 30.08.2008 (Сб) 21:48

Доброе время суток!
Я хочу получить данные из textBox используя переменную в sql запросе, можно конечно через переменную используюя прямо ее в запросе, например,
Код:

Код: Выделить всё
select * from sdvUsers where login='"+@Login+"'


но это не безопасно, если кто-то пропишет DROP TABLE или еще что-то

я хочу сделать через SqlParameter, но что-то не получается...подскажите, что я делаю не правильно, сам смысл ?

вот как я делаю:

у меня есть textBox
Код:
Код: Выделить всё
string txtL = txtLogin.Text;


1.создаю соединение
Код:

Код: Выделить всё
string connStr = "Data Source=SOKOL;Initial Catalog=MyBase;Integrated Security=True";
SqlConnection mySqlConn = new SqlConnection(connStr);


2. открываю соединение
Код:

mySqlConn.Open();

3. Создаю параметр, котрый я буду использовать в запросе с помощью SqlCommand
Код:
Код: Выделить всё
SqlCommand myCommandParam = new SqlCommand(sqlStr, mySqlConn);
            SqlParameter myParamLogin = new SqlParameter("@Login", SqlDbType.VarChar, 15);
            myParamLogin.Value = txtL;
            myCommandParam.Parameters.Add(myParamLogin);
            SqlCommand myCom = new SqlCommand("select * from sdvUsers where login=@Login", mySqlConn);


6. И выполняю запрос....---вот здесь я может и не правильно делаю...я же хочу полчить после выполнения запроса, его результат записать в переменную, а как это сделать ?
Код:

Код: Выделить всё
myCommandParam.ExecuteNonQuery();


что может я не правильно сделал или недоделал, я сам уже не могу, запутался...вроде все правильно делаю...? :(
Я не волшебник, я просто учусь.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: C# и SqlParameter или вытащить переменную в запросе

Сообщение Ramzes » 31.08.2008 (Вс) 22:07

ExecuteReader() ?

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Re: C# и SqlParameter или вытащить переменную в запросе

Сообщение dmitriy22 » 31.08.2008 (Вс) 23:08

Код: Выделить всё
SqlDataReader reader ;
reader = myCommandParam.ExecuteReader();

            while (reader.Read())
            {
                loginProv =Convert.ToString (reader["login"]);
            }

правильно я понял ?

на этапе while он не попадает в блок, что может быть причиной reader.Read() не проходит ?
Я не волшебник, я просто учусь.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Re: C# и SqlParameter или вытащить переменную в запросе

Сообщение Ramzes » 01.09.2008 (Пн) 9:41

отсутствие результата запроса

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Re: C# и SqlParameter или вытащить переменную в запросе

Сообщение dmitriy22 » 01.09.2008 (Пн) 21:48

Спасибо, точно :oops: просто на вход задал не правильный параметр... :roll:
Я не волшебник, я просто учусь.


Вернуться в C#

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25

    TopList