以前也記錄了一些關於這方面的問題,而現在是用ASP.Net裡遇到的,也有一些價值。
1、數據庫的鏈接:
m_connString="Provider=SQLOLEDB; user id=ID; password=passWord; database=database; server=server"
不用指定Provider屬性,但我不明白為什麼不設計的忽略這個屬性呢?
2、OleDBCommand與SqlDBCommand的一點區別:
m_dbManager.Command = new System.Data.SqlClIEnt.SqlCommand();
m_dbManager.Command.Parameters.Add("@log_folderID",i_folderID);
其實你的Command是SQLCommand還是OLEDBCommand,後面的Parameters方法都可以使用,但運行時會提示@log_folderID必須要定義。所以還是用SqlCommand,這樣就不用自己再定義變量了。
3、默認參數:
select top 11 * from t_mailMsg where m_id=@log_mailID
如果用OLEDBCommand,那麼可以不添加參數而執行語句,只是得不到正確的結果,但不會有錯誤。而在SqlServer裡就不行了,必須添加參數,即使這個參數可以是空。這在使用CommandBuilder的時候很有用。
4、數據類型:
這個不用說,大家都應該知道Access的數據類型與SQLServer2K的類型是有一些小區別的,查一下說明也就清楚了。而要注意的是一些數據類型的轉化函數,特別是Convert,用它來轉化成字符串。
5、一些SQL語法:
這裡主要是一些鏈接查詢時要注意的語法,Access裡主要是left join等,但SQLServer裡則是outer join等,所以也要注意一下,查一下幫助。