繁体   English   中英

使用数据集在数据库中更新时出错

[英]Error while updating in database using dataset

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

对于不返回任何键列信息的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();

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM