《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 1296|回复: 0
收起左侧

[提问] 新手求指导Matlab与Sql连接问题

[复制链接]
发表于 2015-3-3 18:36:11 | 显示全部楼层 |阅读模式
代码如下:
            clc;clear all;close all;
sourceName=input('Enter the source Name:','s');
Timeout=logintimeout(5);
conn=database(sourceName,'','');
fprintf('\n数据连接状态:\n');
disp(ping(conn));
dbmeta=dmd(conn);
t=tables(dbmeta,'');
[trow,tcolumn]=size(t);
index=1;
for i=1:trow
    if strcmp(t{i,2},'WaterData')
       tablename{1,index}=t{i,1};
        index=index+1;
    end
end
for i=1:index-1
    fprintf('表名:%s\n',tablename{1,i});
end
tabletosee=input('Which one would you want to use: ','s');
sql=['select * from',tabletosee];
curs=exec(conn,sql);
setdbprefs('DataReturnFormat','cellarray');
curs=fetch(curs);
numrows=rows(curs);
numcols=cols(curs);
fprintf('   Infromation of Table %s.',tabletosee);
%%fprintf('number of rows=%d,number of columns=%d',numrows,numcols);
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);
for i=1:numcols
    fprintf(' %s',tableinfo{i,1});
end
fprintf('\n\n');
datanum=size(curs.data,1);
tabledata=curs.data;
fprintf('数据表%s中的数据量: %d\n',tabletosee,datanum);
%%disp(tabledata);   
但是为什么我输入了MATLAB连接SQL数据库的代码后,行和列都显示为-1,rows=-1,number of columns=-1
而且错误提示 TABLEINFO requires two input arguments
新手求指教
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 蜀ICP备19014457号 

GMT+8, 2020-8-6 06:32 , Processed in 0.043595 second(s), 13 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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