石岩Maple 2017-06-29 08:44 采纳率: 0%
浏览 1564
已结题

C# 修改数据时出现:对于不返回任何基表信息的 SelectCommand 不支持动态 SQL 生成

            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条回答

  • wodewojueding 2017-06-29 09:00
    关注

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

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

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器