singlepost

Как обезапасить запрос << На главную или назад  

Conn.Open();
OleDbCommand command = new OleDbCommand("INSERT INTO "+tableName+" (nick, [key]) " +
"VALUES ('"+nick.Text.ToString()+"', "+key.Text.ToString()+")", Conn);
command.ExecuteNonQuery();

//обновляю.
ds.Clear();
adapter.Fill(ds);

как обезапасить эту звпись?
просто есил в key.Text лежит не цифра будет сильно ругатся…

и ещё пробелма возникла. как при добавлении проверять существует ли такая запись.
к примеру проверять если такой же емаил.

26 ответов в теме “Как обезапасить запрос”

  1. 6
    Донис Рикардо ответил:

    ух, спасибо всем.
    проделал все простой логикой.

    1. через while и try catch
    2. через тот же try catch и return и запрос SELECT
    3. опять же try catch при конвертации key.Text в стринг =)

    думал что то по интереснейб удет=)

  2. 5
    Леонид Максимов ответил:

    >> просто есил в key.Text лежит не цифра будет сильно ругатся…

    key.Text.ToString() -> key.Text.ToInt().ToString()
    будет ругаться, но уже человеческим языком :Ь

    >> к примеру проверять если такой же емаил.

    можно, например, создать уникальный индекс.

  3. 4
    Донис Рикардо ответил:

    хороший набор слов=)
    эммм конект ? мне вроде конект не нужен…а надо что бы данные перед отправкой проверялись.
    1. на уникальность – если не уникально то повторить действие.
    2. на уникальность – просто не чего не добавить.
    3. надо что бы приходили нужные значения в числовые числа в стринг стринг. кодом не хочу я это делать…так расчитываю на БД

  4. 3
    Димка Старчевский ответил:

    Oledb сonnection string builder.

  5. 2
    Евгений Баталов ответил:

    Почитай про инъекции sql, Oledbconnectionstringbuilder (вроде так), oledbparameter, float.tryparse().
    Для проверки записи, запрос типа if exists(select …), а выполнить команду методом executescalar().
    Пока хватит :)

  6. 1
    Донис Рикардо ответил:

    не слова не понял… я не разбераюсь в sql все что я знаю это пару запросов и все.
    можно пример.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.