powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Обновление данных через ADO.NET и DataGridView
10 сообщений из 10, страница 1 из 1
Обновление данных через ADO.NET и DataGridView
    #35054841
DimonNew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, не могу никак в базе обновить данные (новичек в этом, база FireBird), которые были отредактированы в DataGridView. Вот пример кода (все имена вымышлены :)), все по книжкам, но не получается:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
const string sql = "select ID, MyDate, MyName  from MyTable where  ID = @ID";
const string upd = "UPDATE MyTable SET MyDate = @MyDate WHERE ID = @Original_ID";
...
public FbDataAdapter da = null;
...
    da = new FbDataAdapter(sql, cn);
    da.SelectCommand.Parameters.Add("ID", FbDbType.Integer);
    da.SelectCommand.Parameters["ID"].Value = id;
   
    da.UpdateCommand = new FbCommand(upd, cn);
                try
                {
                    da.Fill(dataSet, "MyTable");
                }
Далее редактируем данные (дату) в DataGridView и по кнопочки сохранить:
Код: plaintext
1.
   da.Update(dataSet, "MyTable");
Но ничего не сохраняется, не пойму почему, может какие-то дополнительные команды нужно вписать или свойство какое-нибудь установить, помогите пож-та или где-нибудь есть хороший пример обновления данных, отредактированных в DataGridView.
...
Рейтинг: 0 / 0
Обновление данных через ADO.NET и DataGridView
    #35055283
Bill Great
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Data Binding with Windows Forms 2.0: Programming Smart Client Data Applications with .NET
By Brian Noyes
Есть в сети
...
Рейтинг: 0 / 0
Обновление данных через ADO.NET и DataGridView
    #35055338
DimonNew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел эту книжку, спасибо почитаем и посмотрим примерчики.
...
Рейтинг: 0 / 0
Обновление данных через ADO.NET и DataGridView
    #35056007
DimonNew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В данной книжке нет ответа! Там в основном примеры с визуальным проектированием логики работы с БД, а если FireBird или другая БД, которые предоставляют только невизуальное проектирование, просто .dll для доступа к данным?
...
Рейтинг: 0 / 0
Обновление данных через ADO.NET и DataGridView
    #35056189
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimonNewВ данной книжке нет ответа! Там в основном примеры с визуальным проектированием логики работы с БД, а если FireBird или другая БД, которые предоставляют только невизуальное проектирование, просто .dll для доступа к данным?
логика работы всегда и везде одна и та же, от выбора базы не зависит. Для сохранения данных адаптером нужны правильно сгенеренные Update/Insert/Delete команды адаптера, а не то что ты написал. Поможет в этом FbCommandBuilder, ищи примеры его использования.
...
Рейтинг: 0 / 0
Обновление данных через ADO.NET и DataGridView
    #35056192
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha DimonNewВ данной книжке нет ответа! Там в основном примеры с визуальным проектированием логики работы с БД, а если FireBird или другая БД, которые предоставляют только невизуальное проектирование, просто .dll для доступа к данным?
логика работы всегда и везде одна и та же, от выбора базы не зависит. Для сохранения данных адаптером нужны правильно сгенеренные Update/Insert/Delete команды адаптера, а не то что ты написал. Поможет в этом FbCommandBuilder, ищи примеры его использования.

P.S. подойдет пример использования любого CommandBuilder-a, не обязательно Fb, принцип всегда тот же
...
Рейтинг: 0 / 0
Обновление данных через ADO.NET и DataGridView
    #35056196
DimonNew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему решил следующим образом (нужно было еще описать параметры для updatecommand и связать с полями из dataset.tables["MyTable"]), кому интересно:
Код: plaintext
1.
2.
3.
da.UpdateCommand = new FbCommand(upd, cn);
da.UpdateCommand.Parameters.Add("@MyDate", FbDbType.Time,  4 , "MyDate");
da.UpdateCommand.Parameters.Add("@Original_ID", FbDbType.Integer,  4 , "ID");

Но проблема еще остается в том, что если одна запись в таблице, то не редактируется даже так. А если больше одной, то записываются изменения если я перешел на другую строчку. Нужно найти просто аналог Post (как в Дельфях).
...
Рейтинг: 0 / 0
Обновление данных через ADO.NET и DataGridView
    #35056308
DimonNew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chpasha нужны правильно сгенеренные Update/Insert/Delete команды адаптера, а не то что ты написал

FbCommandBuilder подходит для автоматического создания Update, Insert, Delete, он генерит много лишних полей :
Код: plaintext
1.
UPDATE MyTable SET ID = @ID, MyDate = @MyDate WHERE ID = @Original_ID
изменяет все поля, хотя нужно только одно, может он настраивается конечно, но upade я правильно написал.
...
Рейтинг: 0 / 0
Обновление данных через ADO.NET и DataGridView
    #35057079
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimonNew chpasha нужны правильно сгенеренные Update/Insert/Delete команды адаптера, а не то что ты написал

FbCommandBuilder подходит для автоматического создания Update, Insert, Delete, он генерит много лишних полей :
Код: plaintext
1.
UPDATE MyTable SET ID = @ID, MyDate = @MyDate WHERE ID = @Original_ID
изменяет все поля, хотя нужно только одно, может он настраивается конечно, но upade я правильно написал.
Где там есть параметр UpdateChangedOnly
...
Рейтинг: 0 / 0
Обновление данных через ADO.NET и DataGridView
    #35057295
DimonNew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Обновление данных через ADO.NET и DataGridView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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