通过DataGridView更新数据库

以Oracle为例:

        OracleDataAdapter mOracleAdapter = null;
        DataTable mCurrentEditOracleDT = null;
//连接数据库
        OracleConnection conn = new OracleConnection(strConn);
//绑定数据库,tableName 为表名
            string sql = "select * from tableName ";
            OracleCommand myCommand = new OracleCommand(sql, conn );
            mOracleAdapter = new OracleDataAdapter();
            mOracleAdapter.SelectCommand = myCommand;
            mCurrentEditOracleDT = new DataTable();
            mOracleAdapter.Fill(mCurrentEditOracleDT);
            mCurrentEditOracleDT.TableName = tableName ;
            dataGridView1.DataSource = mCurrentEditOracleDT;
//将dataGridView1的ReadOnly属性设为False,即可在dataGridView1中修改数据
//更新数据源
            try
            {
                OracleCommandBuilder myCommandBuilder = new OracleCommandBuilder(mOracleAdapter);
                mOracleAdapter.Update(mCurrentEditOracleDT);
            }
            catch(Exception ee)
            {
                MessageBox.Show(ee.Message);
                return;
            }
            MessageBox.Show("更新成功!");
        
补充:要更新的数据库中的表必须包含主键!不然上述方法回报错: “对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成”。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值