關於.net操作Oracle資料庫,parameters參數順序的問題。

來源:互聯網
上載者:User

 

代碼

 1  /// <summary>
 2         /// 插入資料
 3         /// </summary>
 4         public void Insert(Users _users, IDbTransaction transaction)
 5         {
 6             //建立插入的SQL語句
 7             StringBuilder strSql = new StringBuilder();
 8             strSql.Append("Insert into T_USERS");
 9             strSql.Append("(UserId,UserName)");
10             strSql.Append(" values ");
11             strSql.Append("(@UserId,@UserName)");
12 
13            14             //建立插入參數數組
15             OracleParameter[] parameters = {
16 
17                                       //主Id欄位
18                                        new OracleParameter("@UserId", OracleDbType.Varchar2,20),
19                                       //使用者名稱
20                                        new OracleParameter("@UserName", OracleDbType.Varchar2,20)         
21                                          };
22             _users.UserId = BasicManage.GetSequences("T_USERS", 6, "YYXXXXXX");//這隻是一個返回序列的方法。
23             parameters[0].Value = _users.UserId;
24             parameters[1].Value = _users.UserName;
25           
26             //執行SQL語句
27             //OracleConnection conn = BasicManage.GetConn();
28             try
29             {
30                 BasicManage bm = new BasicManage();
31                 bm.ExecuteSQL(transaction, strSql.ToString(), parameters);
32                 33 
34             }
35             catch (Exception ex)
36             {
37                 transaction.Rollback();
38                 transaction.Connection.Close();
39                 throw ex;
40             }
41         } 大家看這樣一段代碼,在sql語句中 @UserId是在@UserName上面的,在Sqlserver裡面,下面的Parameters的順序,是不影響的,也就是只要參數對了,順序可以隨便。但如果在串連oracle的時候,兩個參數的位置絕對別錯,如果順序錯了,運行也不會報錯,只是 更新不上去資料,不知道是不是因為我的問題,反正是我把順序調正確了。記錄就更新成功了。一點小技巧。希望大家別在遇到這個問題排錯方面著急。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.