dkdhn 2015-02-04 08:06 采纳率: 0%
浏览 1572

执行成功,却无法更新到数据库

string ConnectionString = "Data Source=DI01;user=abc;password=abc;";//写连接串
OracleConnection conn = new OracleConnection(ConnectionString);//创建一个新连接
try
{
conn.Open();

            //OracleCommand cmd = conn.CreateCommand();
            OracleDataAdapter sd = new OracleDataAdapter();
            sd.SelectCommand = new OracleCommand(@"select pubnum,file_bibname,file_absname,file_absimgname,file_desname,file_claname,file_draname,pubkind from  table t  where 1=2  ",conn);

            sd.UpdateCommand = new OracleCommand(@"update table 
                                                   set file_bibname = @file_bibname,
                                                   file_absname = @file_absname 
                                                   file_absimgname = @file_absimgname,
                                                   file_desname = @file_desname,
                                                   file_claname = @file_claname,
                                                   file_draname = @file_draname
                                                   where pubnum = @pubnum
                                                     and pubkind = @pubkind", conn);
            sd.UpdateCommand.Parameters.Add("@file_bibname", OracleType.VarChar, 255, "file_bibname");
            sd.UpdateCommand.Parameters.Add("@file_absname", OracleType.VarChar, 255, "file_absname");
            sd.UpdateCommand.Parameters.Add("@file_absimgname", OracleType.VarChar, 255, "file_absimgname");
            sd.UpdateCommand.Parameters.Add("@file_desname", OracleType.VarChar, 255, "file_desname");
            sd.UpdateCommand.Parameters.Add("@file_claname", OracleType.VarChar, 255, "file_claname");
            sd.UpdateCommand.Parameters.Add("@file_draname", OracleType.VarChar, 255, "file_draname");
            sd.UpdateCommand.Parameters.Add("@pubnum", OracleType.VarChar, 13, "pubnum");
            sd.UpdateCommand.Parameters.Add("@pubkind", OracleType.VarChar, 2, "pubkind");
            sd.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;
            sd.UpdateBatchSize = 0;

            DataSet dataset = new DataSet();
            sd.Fill(dataset);
            //for(int i=0;i<300;i++)
            //{
                    //row = {填入初始化的值};
                    //dataset.Tables[0].Rows.Add(row);
            //}
            object[] row = { 
                            @"100534271",
                            @"CN00W.XML",
                            @"CN00I.XML",
                            @"0610060750.TIF",
                            @"N00B.XML",
                            @"6CN00A.XML",
                            @"N00C.XML",
                            "C"
                         };
            //for(int i=0;i<300;i++)
            //{
                //dataset.Tables[0].Rows[i][x] = "xxxxxxx";
            //}
            dataset.Tables[0].Rows.Add(row);
            dataset.AcceptChanges();
            sd.Update(dataset.Tables[0]);
            //dataset.Tables[0].Clear();
            sd.Dispose();
            dataset.Dispose();
        }
        catch (Exception ee)
        {
            Console.Write(ee.Message); //如果有错误,输出错误信息
        }
        finally
        {
            conn.Close(); //关闭连接
        }

  • 写回答

1条回答 默认 最新

  • 微wx笑 Java领域优质创作者 2015-02-04 09:50
    关注

    操作Oracle要使用事务的,最后要commit才行。

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建