Oracle串連和使用

來源:互聯網
上載者:User

1.Oracle的串連
        需要匯入System.Data.OracleClient.dll,如果串連需要安裝用戶端。連接字串為:
"uid=system; pwd=sobad2005; Data Source=BLOGS"
如果輸入使用者名稱和使用者密碼,同時需要制定資料庫的名稱。
2.資料的插入,更新等操作。見下面的插入操作。

/// <summary>
        /// 添加新的公告
        /// </summary>
        /// <param name="placTitle">公告標題</param>
        /// <param name="placText">公告內容</param>
        /// <returns>bool</returns>
        public bool AddOnePlacard( string placTitle, string placText )
        {
            bool state = true;
            OracleCommand oc = new OracleCommand();
            oc.Connection = conn;
            //查詢最大的ID值
            if( conn.State == ConnectionState.Closed )
            {
                conn.Open();
            }
            oc.CommandText = "Select Max(placid) As mid From placard";
            OracleDataReader read = oc.ExecuteReader();
            read.Read();
            
            int mid = 1;
            if( !read.IsDBNull( 0 ))
            {
                mid = int.Parse( read["mid"].ToString() ) + 1;
            }
            read.Close();
            //注意:一些關鍵字:date是不能使用的(改成wdate就可以了),如果使用,會報告:無效的主機/賦值變數名
            //另外還有一些user欄位也是不要用好了。總之,欄位不要簡單,複雜些好。
            oc.CommandText = "Insert Into placard( placid,plactitle,plactext,placdate ) Values( :id, :title,:text,:wdate)";

            oc.Parameters.Add( ":id", OracleType.Int32 );
            oc.Parameters[":id"].Value = mid;

            oc.Parameters.Add( ":title", OracleType.VarChar,50 );
            oc.Parameters[":title"].Value = placTitle;

            oc.Parameters.Add( ":text", OracleType.VarChar,4000 );
            oc.Parameters[":text"].Value = placText;

            oc.Parameters.Add( ":wdate", OracleType.DateTime );
            oc.Parameters[":wdate"].Value = System.DateTime.Now.ToString();

            try
            {
                oc.ExecuteNonQuery();                
            }
            catch
            {
                state = false;
            }
            finally
            {
                conn.Close();
            }
            return state;
        }

需要主意的是在SQL中的“ @”符號,變成了“:”,這樣就可以很好的完成資料的插入操作了。

3.需要主意的
1.oracle沒找到設定自動遞增的方法,聽別人說好像沒有。
2.在程式中有些敏感欄位最好不要使用,比如date,user等。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.