matlab與資料庫操作
阿新 • • 發佈:2019-01-24
最近一直在研究matlab的操作,第一次接觸matlab,在短短的兩個月中,最後老師要求交一篇和matlabtoolbox有關的論文,想來想去,還是做了一些和自己專業相關的東西,database在查詢資料的時候,除了網上的一些零散的資料外,就是matlab官方的reference,這個參考的語言也很簡單 ,用了大概2天的時間,把matlabdatabase中70%的函式功能用到了,做了一個小型的管理系統,作品很粗糙,也不健壯,僅僅是為了熟悉matlab和資料庫之間的操作而完成的一個初期測試。僅作為日後學習深入的一個方案,現在網路上關於完整的matlabtoolbox的介紹還不是很多,這裡共享出來,和大家一起研究。
由於學校對網路上的作業追究比較嚴重,為了避免嫌疑,僅僅粘貼出一部分,等評價結束後,將貼上全程式碼。
sourceName=input('Enter the source Name:','s'); %獲取資料來源的名稱Timeout=logintimeout(5); %允許登入連線時間最長為5s
conn=database(sourceName,'',''); %獲取資料庫連線物件
ping(conn) %測試資料庫連線狀態
dbmeta
t=tables(dbmeta,'tutorial'); %獲取cata為tutorial的表名
[trow,tcolumn]=size(t); %獲取返回陣列的大小
index=1;
for i=1:trow %由於表中既包含了系統表格
if strcmp(t{i,2},'TABLE') %又包含了使用者表格,需要在其中
tablename{1,index}=t{i,1}; %找出使用者表格,對t陣列的每一行
index=index+1; %的第二個元素判斷是table則為用
end %戶表。
end
tabletosee=input('Which one would you want to use? ','s'); %獲取欲檢視的表格的名稱
sql=['select * from ',tabletosee]; %構造查詢的sql語句
curs=exec(conn,sql); %執行該sql語句
setdbprefs('DataReturnFormat','cellarray'); %設定資料返回格式
curs=fetch(curs); %獲取結果集物件
numrows=rows(curs); %獲取返回資料的行數
numcols=cols(curs); %獲取返回資料的列數
disp('--------------------------------------------------------------'); %在螢幕中顯示錶格資訊
fprintf(' Information of Table %s . ',tabletosee);
disp('--------------------------------------------------------------');
fprintf('number of rows=%d, number of columns=%d ',numrows,numcols);
disp(' FieldName typeName typeValue columnWidth nullable');
for k=1:numcols %分別獲取相關資訊
attributes=attr(curs,k);
tableinfo{k,1}=attributes.fieldName; %獲取欄位名稱
tableinfo{k,2}=attributes.typeName; %獲取欄位型別名
tableinfo{k,3}=attributes.typeValue; %獲取欄位型別程式碼
tableinfo{k,4}=attributes.columnWidth; %獲取欄位的寬度
tableinfo{k,5}=attributes.nullable; %獲取欄位是否可空
end
disp(tableinfo); %顯示資料表的結構資訊
disp('-------------------------------------------------------------');
fprintf(' Data of Table %s . ',tabletosee);
disp('--------------------------------------------------------------');
for i=1:numcols
fprintf(' %s',tableinfo{i,1});
end
fprintf(' ');
tabledata=curs.data; %獲取結果集物件的資料
disp(tabledata); %顯示資料表中的資料
先寫這些 這是一個表格的前一部分。算是從資料庫到matlab的主要部分了。