專家詳讀ADO連接使用技巧
假期開始ADO連接的學習,首先碰到的就是環境的配置。以前學的ADO連接,但并沒有怎么用。所以有一個星期的時間基本是在用實踐著.net 1.0,不知道Gates知道了,會不會有點郁悶。
ADO連接在DCOM中運行是對于服務器端軟件的設計是一個考驗。特別是使用自由線程而且自己處理數據連接的時候。在Delphi中我個人認為使用DCOM來進行開發的時候如果沒有特別的需要(如數據相應速度,和數據庫連接數的限制),最好是使用單元線程,這樣我們就無需為ADO連接的處理而擔心了!
如果系統需要全局管理數據連接的那么一定要小心因為對于服務器端的系統而言只有當系統終止的時候才會回收數據連接。要防止多個線程同時訪問同一個數據庫連接。而在Delphi 的客戶端開發的時候我們要盡量的將少生成業務對象的實例。
對于使用過的業務對象如果沒有全局申明,那么在其申明的域以外就會被釋放,一個好的傳統是對于每個對象都在使用過以后賦值為nil,從而讓系統回收。在構建一個State Server時,我們最好將ADOConnection的KeepConnection 設置為True,否則只有當這個State Object 被釋放的時候才會被關閉,ADO連接因為KeepConnection只保證在沒有數據集被關閉的情況下才能關閉連接!#t#
為此我們在使用State Server Object的時候可以將KeepConnection屬性設置為True,這樣我們就能夠在我們不需要數據連接而需要對象的狀態的時候自動的將數據庫連接關閉。如果有很多的客戶端同時連接到服務器,如果才用ADO連接將產生很多的數據庫連接,這樣就能夠在不需要數據庫連接的時候自動的關閉數據庫連接。如果需要的時候再次打開。
插入記錄:
- private void btnPublish_ServerClick(object sender, System.EventArgs e)
- {
- string strConnection = ConfigurationSettings.AppSettings["SqlDatabase1"];
- // 連接SqlServer數據庫
- SqlConnection conn = new SqlConnection(strConnection);
- // 建立SqlCommand
- SqlCommand cmd = conn.CreateCommand();
- cmd.CommandText = "INSERT INTO NewsArticle (Title, SubTitle, Writer, Content) valueS ("
- + """ + txtTitle.Text + "","
- + """ + txtSubTitle.Text + "","
- + """ + txtWriter.Text + "","
- + """ + txtContent.Text + "")";
- conn.Open();
- //Response.Write (cmd.CommandText);