標籤:
(雜湊表的 Map 介面的實現與雜湊表區別)HashMap與HashTable的區別
1.hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。
2.hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。
3.hashMap允許空索引值,而hashTable不允許。
Hashtable 內的每一組對象就是一個DictionaryEntry
例如我們要迴圈hashtable擷取裡面的內容時
foreach (DictionaryEntry de in myHashtable) {...}
預存程序:
什麼是預存程序:預存程序就是固化在SQL資料庫系統內部的SQL語句,這樣做的好處是可以提高執行效率、提高資料庫的安全性、減少網路流量。
下面是範例程式碼,可以清晰的get到預存程序的概念
- string strsql = "Data Source=192.168.24.53;Initial Catalog=JF_Charging_System;Persist Security Info=True;User ID=sa;Password=1";//資料庫連結字串
- string sql = "myinsert";//要調用的預存程序名
- SqlConnection conStr = new SqlConnection(strsql);//SQL資料庫連接對象,以資料庫連結字串為參數
- SqlCommand comStr = new SqlCommand(sql, conStr);//SQL語句執行對象,第一個參數是要執行的語句,第二個是資料庫連接對象
- comStr.CommandType = CommandType.StoredProcedure;//因為要使用的是預存程序,所以設定執行類型為預存程序
- //依次設定預存程序的參數
- comStr.Parameters.Add("@username", SqlDbType.VarChar, 10).Value = "11";
- comStr.Parameters.Add("@password", SqlDbType.VarChar, 10).Value = "11";
- comStr.Parameters.Add("@name", SqlDbType.VarChar, 10).Value = "11";
- comStr.Parameters.Add("@usertype", SqlDbType.VarChar, 10).Value = "11";
- comStr.Parameters.Add("@createpeople", SqlDbType.VarChar, 10).Value = "11";
- conStr.Open();//開啟資料庫連接
- MessageBox.Show(comStr.ExecuteNonQuery().ToString());//執行預存程序
- conStr.Close();//關閉串連
在避免裝箱操作中,使用.Tostring()可以避免裝箱;
C#小知識摘撿(後期再慢慢學習)