问题描述
- 执行成功,却无法更新到数据库
-
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(); //关闭连接 }
?
解决方案
操作Oracle要使用事务的,最后要commit才行。
时间: 2024-11-29 11:37:55