powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Ошибка при изменении записи в базе
3 сообщений из 3, страница 1 из 1
Ошибка при изменении записи в базе
    #38233897
tumanovalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
private void bindingNavigatorSaveItem_Click(object sender, EventArgs e
{
  OleDbParameter p;
  // insert
  string strIns = "INSERT INTO tbl1(id, txt) VALUES (?, ?)";
  OleDbCommand insertCmd = new OleDbCommand(strIns, con);
  da.InsertCommand = insertCmd;
  p = new OleDbParameter("@id", OleDbType.Integer);
  p.SourceColumn = "id";
  p.SourceVersion = DataRowVersion.Original;
  insertCmd.Parameters.Add(p);
  p = new OleDbParameter("@txt", OleDbType.VarChar);
  p.SourceColumn = "txt";
  p.SourceVersion = DataRowVersion.Original;
  insertCmd.Parameters.Add(p);
 // update
  string strUpd = "UPDATE tbl1 SET id = ?, txt = ?";
   //string strUpd = "UPDATE tbl1 SET txt = ?";
  OleDbCommand updateCmd = new OleDbCommand(strUpd, con);
  da.UpdateCommand = updateCmd;
  p = new OleDbParameter("@id", OleDbType.Integer);
  p.SourceColumn = "id";
  p.SourceVersion = DataRowVersion.Original;
  updateCmd.Parameters.Add(p);
  p = new OleDbParameter("@txt", OleDbType.VarChar);
  p.SourceColumn = "txt";
  p.SourceVersion = DataRowVersion.Original;
  updateCmd.Parameters.Add(p);
  // delete
  string strDel = "DELETE FROM tbl1 WHERE id = ? AND txt = ?";
  OleDbCommand deleteCmd = new OleDbCommand(strDel, con);
  da.DeleteCommand = deleteCmd;
  p = new OleDbParameter("@id", OleDbType.Integer);
  p.SourceColumn = "id";
  p.SourceVersion = DataRowVersion.Original;
  deleteCmd.Parameters.Add(p);
  p = new OleDbParameter("@txt", OleDbType.VarChar);
  p.SourceColumn = "txt";
  p.SourceVersion = DataRowVersion.Original;
  deleteCmd.Parameters.Add(p);
  da.Update(ds.Tables[0]);
} 

дает возможность сохранить в базе mdb новые записи. Но не получается update. При изменении поля txt и попытке записи получаю "Невозможно обновить поле 'id'; не обновляемое поле". Подскажите, пожалуйста, как исправить эту ошибку. Проект прикрепляю
...
Рейтинг: 0 / 0
Ошибка при изменении записи в базе
    #38234008
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tumanovalexдает возможность сохранить в базе mdb новые записи. Но не получается update. При изменении поля txt и попытке записи получаю "Невозможно обновить поле 'id'; не обновляемое поле". Подскажите, пожалуйста, как исправить эту ошибку.
Заменить
Код: c#
1.
2.
 // update
  string strUpd = "UPDATE tbl1 SET id = ?, txt = ?";

на
Код: c#
1.
2.
 // update
  string strUpd = "UPDATE tbl1 txt = ? WHERE id = ?";
...
Рейтинг: 0 / 0
Ошибка при изменении записи в базе
    #38234167
tumanovalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое, получилось. Возник еще вопрос. В моем проекте на панели навигатора активны при запуске формы только иконки добавления и сохранения. Подскажите, пожалуйста, как сделать активными другие иконки.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Ошибка при изменении записи в базе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]