Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2010, 20:56   #1
megazz13
 
Регистрация: 23.03.2009
Сообщений: 6
По умолчанию DataSet в ACCESS

C#
ребята,помогите, нужно записать данные из DataSet в БД Access. Долго искал, не могу найти

Код:
OleDbCommand comand;
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\db1.mdb;Persist Security Info=True");
OleDbDataAdapter adapt;
OleDbDataAdapter adapt2;
//в процедуре вношу данные из БД в DataSet:
Код:
            comand = new OleDbCommand("Select * From table1", conn);
            adapt = new OleDbDataAdapter(comand); 
            adapt.Fill(ds.Tables.Add("table1"));
            comand = new OleDbCommand("Select * From table2", conn);
            adapt2 = new OleDbDataAdapter(comand);
            adapt2.Fill(ds.Tables.Add("table2"));
//меняю данные в DataSet
Код:
                DataRow r1 = ds.Tables["table2"].NewRow();
                r1[1] = str1;//нулевой столбец заполняется атоматом (неважно)
                ds.Tables["table2"].Rows.Add(r1);
                DataRow r = ds.Tables["table1"].NewRow();
                r[0] = str;
                r[1] = price;
                r[2] = "";
                ds.Tables["table1"].Rows.Add(r);
                ...
                ds.Tables["table1"].Rows[comboBox1.SelectedIndex][2] = ;//меняю данные в ячейке
//надо объединить DataSet и БД Access (db1.mdb) - чтобы БД была индентична ds
ничего не могу найти по этому поводу... а нужно срочно.
Иисус изменил твою жизнь, сохранить? (Y/N)
megazz13 вне форума Ответить с цитированием
Старый 11.03.2010, 12:27   #2
Vistar
учащийся
Форумчанин
 
Аватар для Vistar
 
Регистрация: 26.04.2009
Сообщений: 144
По умолчанию

У DataAdapter есть такой метод как Update.

Вот примерчик с моей програмки:
Код:
DbCommandBuilder commandBuilder = new OleDbCommandBuilder();
            command.Connection = TableManager.Connection;
            commandBuilder.ConflictOption = ConflictOption.OverwriteChanges;
            commandBuilder.DataAdapter = dataAdapter;
            dataTable = new DataTable();
            tempDataTable = new DataTable();
            dataTable.TableName = tempDataTable.TableName = tableName;
            command.CommandText = "SELECT * from " + Table.TableName;
            dataAdapter.SelectCommand = command;
            dataAdapter.InsertCommand = (OleDbCommand)commandBuilder.GetInsertCommand();
            dataAdapter.DeleteCommand = (OleDbCommand)commandBuilder.GetDeleteCommand();
            dataAdapter.UpdateCommand = (OleDbCommand)commandBuilder.GetUpdateCommand();
Тоисть тебе нужно сделать что то такое:
Код:
dataAdapter.UpdateCommand = (OleDbCommand)commandBuilder.GetUpdateCommand();
а потом когда нужно синхронизовать базу с DataSet вызываеш dataAdapter.Update();

Вот можна такой метод написать:

Код:
int Update(DataRow[] dataRow)
        {
            return dataAdapter.Update(dataRow);
        }
Vistar вне форума Ответить с цитированием
Старый 11.03.2010, 13:26   #3
megazz13
 
Регистрация: 23.03.2009
Сообщений: 6
По умолчанию

поступил поизвращенски, создал новый DataSet в котором хранятся изменения первого DataSet. и при нажатии кнопки заносил через sql запросы изменения в БД.
Просто мне вчера срочно нужно было... спасибо. как нибудь обязательно попробую твоим методом
Иисус изменил твою жизнь, сохранить? (Y/N)
megazz13 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADO DataSet в Access Antoha_Gad БД в Delphi 7 28.10.2009 09:45
dataset и progressbar asimpsons БД в Delphi 14 29.07.2009 10:53
dataset sergei64_89 Общие вопросы .NET 1 19.09.2008 20:14
DataSet nimf БД в Delphi 3 28.01.2008 23:03