OleDb в C# 2.0
От: x1 http://www.agpage.ru
Дата: 11.03.07 16:40
Оценка:
Я только начинаю работать с БД (формат MS Access) из C#
Заполняю DataGridView c помощью примерно такого кода:

string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Tests.mdb";
string strAccessSelect = "SELECT * FROM "+SelectedTest;
myDataSet = new DataSet();
OleDbConnection myAccessConn = null;
myAccessConn = new OleDbConnection(strAccessConn);
OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect, myAccessConn);
OleDbDataAdapter myDataAdapter = new  OleDbDataAdapter(myAccessCommand);
myAccessConn.Open();
myDataAdapter.Fill(myDataSet, "Table");
myAccessConn.Close();
bindingSource.DataSource = CurTest;
TestGridView.GridView.DataSource = bindingSource; // вывод в GridView

Работает.

Подскажите, пожалуйста, как сохранить изменения, сделанные в DataGridView?
Хотел удалить старую таблицу в базе данных и сохранить новую на её место.

string strAccessCommand = "CREATE TABLE NewTable"; // drop table Производные CREATE Table NewTable
myDataSet = new DataSet();
OleDbConnection myAccessConn = null;
myAccessConn = new OleDbConnection(strAccessConn);
myAccessConn.Open();
OleDbCommand myAccessCommand = new OleDbCommand(strAccessCommand, myAccessConn);
OleDbCommand myDeleteCommand = new OleDbCommand("drop table Производные", myAccessConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
                myDataAdapter.DeleteCommand = myDeleteCommand;
System.Data.DataTable dt = bindingSource.DataSource as System.Data.DataTable;
                myDataAdapter.Fill(dt);
                myDataAdapter.Update(dt);
                myAccessConn.BeginTransaction();
                myAccessConn.Close();


Этот код работает без ошибок, но таблица в БД не удаляется и не создаётся. Проблема в том, что я не понимаю, как запустить удаление старой таблицы и создание новой из C#. В качестве запросов из Access нужные команды SQL успешно работают с БД. Прошу помочь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.