更新多个数据clob类型的

本文介绍了一个使用C#连接Oracle数据库并更新特定表中记录的示例代码。该过程包括从现有的s_line表中选择所有记录,然后更新另一张表s_lines的相关字段。

        /// <summary>
        /// S_line
        /// </summary>
        private void OracleChangeFnSline()
        {
            string connOracle = "Data Source=orcl;Persist Security Info=True;User ID=hzbus09;Password=1;Unicode=True";
            HzBLib.IDAL.ISLine xOp = HzBLib.DAL.Factory.CreateSLine();
            HzBLib.Model.Collection<HzBLib.Model.SLine> xLst = xOp.Select("SELECT * FROM s_line ");
            if (xLst.Count > 0)
            {
                int m = xLst.Count;
                for (int i = 0; i < xLst.Count; i++)
                {
                    try
                    {
                        OracleConnection conn = new OracleConnection(connOracle);
                        conn.Open();
                        string sql = "update s_line set  F_UP_SHAPE =:pb1, F_UP_SHAPE_SOURCE=:pb2, F_DOWN_SHAPE=:pb3, F_DOWN_SHAPE_SOURCE =:pb4 where f_uid='" + xLst[i].FUid + "'";
                        OracleCommand cmd = new OracleCommand(sql, conn);
                        //OracleParameter p = new OracleParameter("pb", OracleType.Clob);
                        OracleParameter p1 = new OracleParameter("pb1", OracleType.Clob);
                        OracleParameter p2 = new OracleParameter("pb2", OracleType.Clob);
                        OracleParameter p3 = new OracleParameter("pb3", OracleType.Clob);
                        OracleParameter p4 = new OracleParameter("pb4", OracleType.Clob);
                        //p.Value = xLst[i].FContent;
                        //p1.Value = HzBLib.Common.ConvertByteArrayToString(xLst[i].FUpShape);
                        //p2.Value = HzBLib.Common.ConvertByteArrayToString(xLst[i].FUpShapeSource);
                        //p3.Value = HzBLib.Common.ConvertByteArrayToString(xLst[i].FDownShape);
                        //p4.Value = HzBLib.Common.ConvertByteArrayToString(xLst[i].FDownShapeSource);
                        //cmd.Parameters.Add("pb", OracleType.Clob).Value = xLst[i].FContent;
                        cmd.Parameters.Add("pb1", OracleType.Clob).Value = HzBLib.Common.ConvertByteArrayToString(xLst[i].FUpShape);
                        cmd.Parameters.Add("pb2", OracleType.Clob).Value = HzBLib.Common.ConvertByteArrayToString(xLst[i].FUpShapeSource);
                        cmd.Parameters.Add("pb3", OracleType.Clob).Value = HzBLib.Common.ConvertByteArrayToString(xLst[i].FDownShape);
                        cmd.Parameters.Add("pb4", OracleType.Clob).Value = HzBLib.Common.ConvertByteArrayToString(xLst[i].FDownShapeSource);
                        cmd.ExecuteNonQuery();
                        conn.Close();

                    }
                    catch
                    {

                    }
                }
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值