[轉(zhuǎn)載]Matlab數(shù)據(jù)庫編程||| 通過ODBC/JDBC 接口訪問具體的數(shù)據(jù)庫 function dbimportdemo() timeoutA=logintimeout(5) %打開數(shù)據(jù)源 SampleDB connA=database('SampleDB','','') % Check the database status. ping(connA) % Open cursor and execute SQL statement. %執(zhí)行SQL查詢語句 cursorA=exec(connA,'select country from customers'); % Fetch the first 10 rows of data. %獲取前十行數(shù)據(jù) cursorA=fetch(cursorA,10) %顯示 AA=cursorA.Data %關(guān)閉 close(cursorA) close(connA) 二、通過DAO訪問數(shù)據(jù)庫(DAO技術(shù)適合于訪問ACCESS 2000以下版本的數(shù)據(jù)庫,優(yōu)點是功能齊全,具體可以參考MSDN關(guān)于DAO的幫助), 在MATLAB幫助文件中有關(guān)于如何調(diào)用EXCEL組件的?方法。 Handle=actxserver('DAO.DBEngine.36'); MyWSS=get(Handle,'Workspaces') Count=get(MyWSS,'Count') MyWS=get(MyWSS,'Item',0) %打開數(shù)據(jù)庫 MyDB=invoke(MyWS,'OpenDatabase','D:\My Documents\test.mdb') %打開數(shù)據(jù)庫的表,得到一個指向記錄集的指針 MyRS=invoke(MyDB,'OpenRecordset','用戶') %獲取“用戶”表的前十行數(shù)據(jù) MyRows=invoke(MyRS,'GetRows','10') %關(guān)閉 invoke(MyRS,'Close') invoke(MyDB,'Close') invoke(MyWS,'Close') 三、 ADO技術(shù)(微軟建議ACCESS 2000及以上版本的數(shù)據(jù)庫應(yīng)盡量通過ADO訪問,優(yōu)點是可以通過較少的對象訪問數(shù)據(jù)庫,ADO與今后微軟的數(shù)據(jù)庫技術(shù)發(fā)展方向一致,目前支持的功能稍微 少了一些)具體訪?問的可以參考MSDN的幫助文件和ADO 類型庫的方法原型。 %調(diào)取訪問數(shù)據(jù)名稱和路徑 [filename, pathname]= uigetfile('*.xls'); %賦給變量 file file=[pathname filename]; %讀取數(shù)據(jù) x=xlsread(file); |
|