第一次跟別人做東西,自己的一點經驗,寫下來,雖然比較菜,但還是要做點記錄,如有錯誤缺漏,請各位不吝賜教,謝謝: )
以前都是用asp.net 與sqlserver2000 結合做東西的,這次是用access,雖然是第一次用,但感覺與sqlserver2000的用法區別不大,以下對二者的用法做比較:
sqlserver2000:
1>命名空間 using system.data;
using system.data.sqldb;
2>連接語句等 在之前的隨筆中有記錄,這里不再記錄了。
主要記錄access用法:
1>命名空間:using system.data;
using system.data.oledb;
2>連接語句:
string constring="provider=microsoft.jet.oledb.4.0; data source=";
constring+=server.mappath(@"/jlgps/db/jlgps.mdb");
//以上語句中,“@”表示絕對的字符串,也就是說"/"在這就不需用"http://"來表示了
第一個"/"表示是從根目錄(如c:/inetpub/wwwroot)下找"jlgps"這個目錄,如果不加"/"
表示從當前應用程序目錄下(jlgps)找,那么這里就要寫成@"db/jlgps.mdb"了.
建議用后者,前者取出來可能是絕對路徑,后者則是相對路徑,出錯幾率較小。
oledbconnection con=new oledbconnection(constring);
con.open();//這樣數據庫連接完畢。
3>命令對象:
大致用法與sqlserver的相同,只是名稱有點變化:
sqlserver的以sql開頭,如sqlcommand cmd=new sqlcommand();
而access的都以 oledb開頭,如:oledbcommand,oledbdatareader....等
4>涉及到access數據庫的用戶名和密碼的問題:
開始我的access的mdb文件沒有設置用戶名和密碼,用以上的連接語句可以
連接成功,后來我想為了稍微安全點,想設置數據庫mdb文件的打開密碼,于
是我便打開mdb文件,在"工具",-"安全"-"設置數據庫密碼"中設好了密碼,但是
之后便連接不上數據庫,我便試著在連接語句中加類似sqlserver中的uid,pwd等,
但都沒成功,最后經過一番嘗試,找到了一個解決問題的方法:
不要在"工具",-"安全"-"設置數據庫密碼"中設置密碼,而是在"工具",-"安全"-
"用戶與組帳戶"中設置密碼即可,這樣,既實現了打開mdb文件時要輸入密碼
,而數據庫連接語句還是原來的,不要做任何改動即可連接數據庫。
5>access的字段類型問題,access的字段類型與oledbtype的類型很難一一吻合,
那么取相似的即可,比如access中的備注型,那么就在oledbtype中用
longvarchar即可。比如:
oledbparameter para=new oledbparameter("@profun",oledbtype.longvarchar);
para.value=myaddpro.profun;//一個產品對象的功能描敘參數,備注型
cmd.parameters.add(para);
新聞熱點
疑難解答
圖片精選