
using (OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["NSBD_SHUJUKU"].ConnectionString)) { conn.Open(); OracleTransaction trans = conn.BeginTransaction(); try { OracleCommand command = new OracleCommand(); command.Connection = conn; //到此為止跟我們,使用的基本一樣 //然后需要添加參數了 command.ArrayBindCount = batchCount; //注意參數寫法: string insert = string.Format("insert into {0} (spointguid,dsdate{1},srcnote,errnote) values(:spointguid, :dsdate", tableName, fieldNames); string[] guids = guidList.GetRange(startIndex, batchCount).ToArray(); DateTime[] dates = dateLists.GetRange(startIndex, batchCount).ToArray(); List<string[]> values = new List<string[]>(); for (int i = 0; i < fieldNames.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Length; i++) { insert += ",:V" + i.ToString(); values.Add(valueDics[i].ToArray()); } insert += ",:srcNote,:errNote)"; command.CommandText = insert; // 添加參數 OracleParameter guidParam = new OracleParameter("spointguid", OracleDbType.Varchar2); guidParam.Direction = ParameterDirection.Input; guidParam.Value = guids; command.Parameters.Add(guidParam); OracleParameter dateParam = new OracleParameter("dsdate", OracleDbType.Date); dateParam.Direction = ParameterDirection.Input; dateParam.Value = dates; command.Parameters.Add(dateParam); for (int i = 0; i < values.Count; i++) { OracleParameter valueParam = new OracleParameter("V" + i.ToString(), OracleDbType.Single); valueParam.Direction = ParameterDirection.Input; valueParam.Value = values[i]; command.Parameters.Add(valueParam); } OracleParameter srcNoteParam = new OracleParameter("srcnote", OracleDbType.Char); srcNoteParam.Direction = ParameterDirection.Input; srcNoteParam.Value = srcNote.ToArray(); command.Parameters.Add(srcNoteParam); OracleParameter errNoteParam = new OracleParameter("errcnote", OracleDbType.Char); errNoteParam.Direction = ParameterDirection.Input; errNoteParam.Value = errNote.ToArray(); command.Parameters.Add(errNoteParam); correctRows += command.ExecuteNonQuery(); trans.Commit(); conn.Close(); command.Dispose(); } catch (Exception ex) { trans.Rollback(); // throw; } finally { conn.Close(); } } #endregion } return correctRows; }
然后運行會有錯誤,當然,cs文件上邊的引用已經弄好
然后這個問題我遇到的是,需要把這4個文件,拷到程序運行exe的同級目錄(bin\debug)
然后在運行就通過了
這個是解決了,看好多帖子,別人的都是需要,OraOps10還有11的版本問題