C# 修改数据时出现:对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成 10C
            string str = @"D:\MirServer龙纹之刃";
            DataTable dt = DBItemDGV.DataSource as DataTable;
            if (Directory.Exists(str + @"\Mud2\DB\"))
            {
                //物品查看
                string ConnectionString = @"Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=" + str + @"\Mud2\DB;Dbq=" + str + @"\Mud2\DB;CollatingSequence=ASCII;PWD=;";
                using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(ConnectionString))
                {
                    conn.Open();
                    string sql = String.Format("update StdItems set {0}={1} where Name={2}",
                    DBItemDGV.Columns[e.ColumnIndex].DataPropertyName,    //所选单元格修改后的值
                    DBItemDGV.SelectedRows[0].Cells[e.ColumnIndex].Value,    //所选单元格修改后的值
                    DBItemDGV.SelectedRows[0].Cells[1].Value);
                    using (System.Data.Odbc.OdbcDataAdapter da = new OdbcDataAdapter(sql, conn))
                    {
                        OdbcCommandBuilder b = new OdbcCommandBuilder(da);
                        da.UpdateCommand = b.GetUpdateCommand();
                        da.Update(dt);
                    }
                    conn.Close();
                }
            }

select语句都是正常的,试过很多方法了,主要是自己对这块不是很理解,有没有大神?
先看看我代码有没有问题,然后再给个解决办法吧

2个回答

你只是要已修改,怎么会用到OdbcDataAdapter,直接用odbccommand就行,

你这样是要在查询的时候用的,或者你想要有返回结果的 时候,必须要有查询语句才行

zhangleishiyan
zhangleishiyan 恩,我之后直接用odbccommand解决了
大约 3 年之前 回复

你这边是修改, 不用使用Adapter , 直接只用ccommand.ExecuteNonQuery() 返回受影响行数就好了

zhangleishiyan
zhangleishiyan 恩,我之后直接用odbccommand解决了
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐