Обновите oracle, используя набор данных в .NET 1.1 - PullRequest
2 голосов
/ 04 февраля 2012

Я выполнил код, в котором я обновляю данный набор данных в базе данных Oracle с помощью метода adapter.Update в .NET 2.0. Однако этот же фрагмент кода выдает исключение «Обновление требует допустимой команды InsertCommand при передаче коллекции DataRow с новыми строками»

Если я просматриваю набор данных и вставляю каждую строку, это занимает много времени (более 5000 записей).

Пожалуйста, предложите способ обновления всего набора данных в базу данных за один раз.

Заранее спасибо

1 Ответ

0 голосов
/ 19 октября 2012

Способ сделать это - одна строка за раз

<code>
conn=objDbClass.open_connection();
string cmdStr = "select COL1, COL2   from MY_TABLE";
OleDbDataAdapter adapter = new OleDbDataAdapter(cmdStr, conn);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
DataSet dataset1 = new DataSet();
adapter.Fill(dataset1,"Table1");
string err_txt="";
int err_cnt=0;
int call_no=Find_CallNo();
for (int arcnt=0;arcnt
DataRow dr1=dataset1.Tables[0].NewRow();
dr1["COL1"]=drxl["COL1"].ToString();
dr1["COL2"]=drxl["COL2"].ToString();
dataset1.Tables[0].Rows.Add(dr1);
int no_updated_rows = adapter.Update(dataset1,"Table1");
int len = xlds.Tables[0].Columns.Count;
}
}
}

Здесь каждая строка считывается из Excel и помещается в таблицу данных набора данных.Затем вызывается функция обновления адаптера данных.следовательно, в случае, если набор данных имеет 40 строк, функция обновления будет вызываться 40 раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...