Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Как изменить базу данных Access при изменении данных в таблице на форме (http://forum.oszone.net/showthread.php?t=313872)

tumanovalex 14-04-2016 20:11 2626232

Как изменить базу данных Access при изменении данных в таблице на форме
 
На одном из форумов нашел интересный вопрос, который меня интересует:
"Пытаюсь внести исправления, сделанные в таблице, в базу данных:
Код:

case 3: // изменить строку
  int numRow = dataGridView1.CurrentRow.Index;
  string sID  = (string) dataGridView1.Rows[numRow].Cells[0].Value;
  sTableName  = dataGridView1.Rows[numRow].Cells[1].FormattedValue.ToString();
  sTextResult = dataGridView1.Rows[numRow].Cells[2].FormattedValue.ToString();

  str = "UPDATE ListTable SET tblName = " + "'" + sTableName  +  "'" + "," +
                          " tblResult = "  + "'" + sTextResult +  "'" + " WHERE idTable = " // + sID; 
                                          + "'" + sID        +  "'";
    command.CommandText = str;
    command.ExecuteNonQuery();
  break;

Получаю ошибку: "Необработанное исключение типа "System.Data.OleDb.OleDbException" произошло в System.Data.dll. Дополнительные сведения: Несоответствие типов данных в выражении условия отбора"
Как я понимаю, ошибка связана с тем, что sID должен быть числовым, а не строковым. К сожалению, не знаю, как правильно сформировать строку запроса, чтобы sID был числовым и одновременно можно было бы его использовать в строке запроса. Помогите, пожалуйста".
Я тоже буду использовать базу данных Access в своем приложении и меня этот вопрос очень интересует. Прикрепленный файл с форума прикрепил к этому сообщению.

Iska 14-04-2016 20:40 2626243

Попробуйте «CLng(sID)» или «CULng(sID)».

tumanovalex 15-04-2016 16:40 2626536

В C# нет таких функций. Наверное работать так с базой данных бессмысленно, когда есть DataSet и Data Adapter. Попробую научиться работать с базами данных через нормальный ADO.NET.


Время: 16:46.

Время: 16:46.
© OSzone.net 2001-