Как заполнить столбец текстового поля datagridview с базой данных при условии [duplicate]

Все будет ОК, если вы измените исходный код следующим образом:

if ((cin >> name).get() && std::getline(cin, state))
1
задан Timothy Carter 1 July 2009 в 16:58
поделиться

1 ответ

Вы открываете себе SQL-инъекцию, напрямую принимая ввод пользователя, хотя это побочный вопрос. Почему вы вызываете objSqlDataAdapter.Update(objDataTable); в этом разделе?

Хотя все остальное выглядит нормально, я бы попробовал 2 вещи:

  1. Удалить вызов objSqlDataAdapter.Update(objDataTable); - ничего не было изменено , так что обновляется? На данный момент вы должны выбирать только данные. Это также изменяет таблицу, когда она обновляется, и таблица действует как источник данных BindingSource.
  2. Измените команду выбора для использования параметров и посмотрите, не изменилось ли это.

Итак, измените это:

SqlDataAdapter objSqlDataAdapter = new SqlDataAdapter("select * from LIBRARYBOOKDETAILS where Title = '"+txtTitle.Text+"'", objSqlConnection);

К этому:

SqlCommand command = new SqlCommand("select * from LIBRARYBOOKDETAILS where Title = @Title", objSqlConnection);
command.Parameters.AddWithValue("@Title", txtTitle.Text);

SqlDataAdapter objSqlDataAdapter = new SqlDataAdapter(command);
3
ответ дан Ahmad Mageed 21 August 2018 в 06:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: