2013-05-09 3 views
0

Во время работы код ниже получаю эту ошибкуОшибка при обновлении в базе данных с использованием набора данных

Динамическая генерация SQL для UpdateCommand не поддерживается против в SelectCommand, которая не возвращает какой-либо ключевой информации столбца.

Пробовал делать много вещей, ничего не работает. Ниже приведен код

string queryUp = "SELECT Node_A_ObjectID,Node_Z_ObjectID FROM NDDILinks"; 
      string myConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data source=D:\TiptonDB.mdb"; 
      DataSet dtup = new DataSet(); 
      using (OleDbConnection myConnection = new OleDbConnection()) 
      { 
       myConnection.ConnectionString = myConnectionString; 
       OleDbCommand cmd = new OleDbCommand(); 
       cmd.Connection = myConnection; 
       myConnection.Open(); 
       OleDbDataAdapter adp = new OleDbDataAdapter(queryUp, myConnection); 
       adp.FillSchema(dtup, SchemaType.Source, "NDDILinks"); 
       adp.Fill(dtup, "NDDILinks"); 

       dtup.Tables[0].Rows[1][0] = 2350; 
       adp.AcceptChangesDuringUpdate = true; 

       OleDbCommandBuilder objCommandBuilder = new OleDbCommandBuilder(adp); 
       cmd.Parameters.Add("@Node_A_ObjectID", OleDbType.Integer, sizeof(int), "Node_A_ObjectID"); 
       int a1 = adp.Update(dtup, "NDDILinks"); 
       dtup.AcceptChanges(); 
+0

Вы уверены, что используете основной ключ из своей таблицы 'NDDILinks'? также убедитесь, что вы определили ключ в своей таблице. – Habib

+0

Я не выбираю первичный ключ только 2 значения Node_A_ObjectID, Node_Z_ObjectID. Мне также нужно выбрать первичный ключ? Да, у моей таблицы есть первичный ключ – Shrivallabh

ответ

2

Я не выбор первичного ключа только два значения Node_A_ObjectID, Node_Z_ObjectID.Do нужно выбрать первичный ключ также?

Основываясь на ваших комментариях к сообщению. Вы, , должны выбрать основной ключ для вашего UPDATE для работы с набором данных или вы можете указать свой собственный запрос UPDATE или INSERT. Вы также можете увидеть this discussion на MSDN

+0

Спасибо, что сэр теперь работает – Shrivallabh

+0

@Shrivallabh, добро пожаловать – Habib

Смежные вопросы