声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1852|回复: 0

[综合讨论] [转载]matlab访问数据库的几种方法

[复制链接]
发表于 2016-3-16 14:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
一、通过MATLAB 提供的数据库引擎, 以下是MATLAB ,DATABASE TOOLBOX中的例子,
通过ODBC/JDBC 接口访问具体的数据库
function dbimportdemo()
timeoutA=logintimeout(5)
%打开数据源 SampleDB
connA=database('SampleDB','','')
% Check the database status.
ping(connA)
% Open cursor and execute SQL statement.
%执行SQL查询语句
cursorA=exec(connA,'select country from customers');
% Fetch the first 10 rows of data.
%获取前十行数据
cursorA=fetch(cursorA,10)
%显示
AA=cursorA.Data
%关闭
close(cursorA)
close(connA)
二、通过DAO访问数据库(DAO技术适合于访问ACCESS 2000以下版本的数据库,优点是功能齐全,具体可以参考MSDN关于DAO的帮助),以下是我自己摸索出来的,在MATLAB帮助文件中有关于如何调用EXCEL组件的​方法。
Handle=actxserver('DAO.DBEngine.36');
MyWSS=get(Handle,'Workspaces')
Count=get(MyWSS,'Count')
MyWS=get(MyWSS,'Item',0)
%打开数据库
MyDB=invoke(MyWS,'OpenDatabase','D:My Documentstest.mdb')
%打开数据库的表,得到一个指向记录集的指针
MyRS=invoke(MyDB,'OpenRecordset','用户')
%获取“用户”表的前十行数据
MyRows=invoke(MyRS,'GetRows','10')
%关闭
invoke(MyRS,'Close')
invoke(MyDB,'Close')
invoke(MyWS,'Close')
三、ADO技术(微软建议ACCESS 2000及以上版本的数据库应尽量通过ADO访问,优点是可以通过较少的对象访问数据库,ADO与今后微软的数据库技术发展方向一致,目前支持的功能稍微少了一些)具体访​问的可以参考MSDN的帮助文件和ADO 类型库的方法原型。
%调取访问数据名称和路径
[filename, pathname]= uigetfile('*.xls');
%赋给变量file
file=[pathname filename];
%读取数据
x=xlsread(file);
转自:http://blog.sina.com.cn/s/blog_7a84957f0101eua3.html
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 11:32 , Processed in 0.069711 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表