У меня есть следующий код для использования базы данных доступа
OleDbConnection con = new OleDbConnection(myproject.Properties.Settings.Default.myDBConnectionString);
con.Open();
OleDbCommand command = new OleDbCommand("INSERT INTO components (name) VALUES (@p_col1)", con);
command.Parameters.Add("@p_col1", OleDbType.VarChar).Value = "test row";
int rows = command.ExecuteNonQuery();
На данный момент значение строки равно 1, и когда я делаю запросы на выборку, после этого вставленная строка становится доступной.Проблема возникает, когда программа завершает свою работу: в последующих выполнениях этой строки больше нет.
Я пробовал с транзакциями
OleDbTransaction transaction = con.BeginTransaction();
command.Transaction = transaction;
transaction.Commit();
и с использованием DataSets и ADO таким образом
//... add row to dataset ...
OleDbDataAdapter sda = new OleDbDataAdapter("select * from components", con);
OleDbCommandBuilder cb = new OleDbCommandBuilder(sda);
sda.Update(ds.Components); //tried with ds.Components.AcceptChanges(); before and after this line
но в каждом случае у меня возникает одна и та же проблема, кажется, что запрос вставки не выполняется в реальной базе данных.Знаете, почему это может происходить ???
Заранее спасибо