Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.189.180.244] |
|
Сообщ.
#1
,
|
|
|
Привет форумчане, вот нужна ваша, второй день мучаюсь не могу никак понять как можно обновить базу данных, без использования "первичных ключей" и запроса типа: "UPDATE * """"; Потому как нужно загружать любую базу данных в DatagridView изменять ее в гриде, и сохранять изменения в SQL.
Вот код: SqlDataAdapter sqldataadapter; DataTable datatablesql; string Connection = textBox1.text; string Table = textBox2.text; private void LoadDatatable() { SqlConnection sqlconnect = new SqlConnection(); sqlconnect.ConnectionString = Connection; sqlconnect.Open(); sqldataadapter = new SqlDataAdapter("SELECT * FROM " + Table + "", sqlconnect); datatablesql = new DataTable(); //источник данных DataTable sqldataadapter.Fill(datatablesql); SqlDataPlacer.DataSource = datatablesql; //соб-но сам грид; sqlconnect.Close(); } private void SaveChanges_Click(object sender, EventArgs e) { sqldataadapter.Update(datatablesql); //здесь сохраняем изменения сделанные в гриде в таблицу. } Ошибка следущая: Для обновления требуется действительный UpdateCommand при передаче коллекции DataRow с измененными строками. Самое интересное, сначала все работало, затем я зашел в базу данных и добавил новую колонку, все, на этом приплыли, дальше стала вылазить эта ошибка. Вопрос в том, как обновлять таблицу, не зная какие там данные изначально (чтобы работать с любыми базами можно было). |
Сообщ.
#2
,
|
|
|
Цитата Malcolm @ как обновлять таблицу, не зная какие там данные изначально (чтобы работать с любыми базами можно было). Добавить первичный ключ. |
Сообщ.
#3
,
|
|
|
Цитата MIF @ Добавить первичный ключ. Покажите как должен выглядеть в моем примере "первичный ключ". |
Сообщ.
#4
,
|
|
|
Зависит от БД. Во многих БД можно добавить к таблице автоинкерементное поле и зарегистррировать первичный ключ по етому полю.
|
Сообщ.
#5
,
|
|
|
А если в базе данных не добавили к таблице первичного ключа, в таком случае как быть?
|