0

运行以下代码时出现此错误

对于不返回任何键列信息的 SelectCommand,不支持为 UpdateCommand 生成动态 SQL。

尝试做很多事情都没有奏效。下面是代码

 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();
4

1 回答 1

2

我没有选择主键,只有 2 个值 Node_A_ObjectID,Node_Z_ObjectID。我还需要选择主键吗?

根据您对帖子的评论。您必须为 UPDATE 选择主键才能使用数据集,或者您可以指定自己的 UPDATE 或 INSERT 查询。你也可以在 MSDN 上看到这个讨论

于 2013-05-09T12:49:39.950 回答