首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab:数据库。重写SQL

Matlab:数据库。重写SQL
EN

Stack Overflow用户
提问于 2012-05-09 02:15:42
回答 1查看 305关注 0票数 0

这是我的SELECT-query代码。SELECT * FROM TableName WHERE (DateField = Date)

代码语言:javascript
复制
 function out = SQL_Simple( DBName, TableName, Date, DateField, SortField, Limits )

 logintimeout(60);
 conurl = ['jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=' DBName];
 conn = database('','','','sun.jdbc.odbc.JdbcOdbcDriver', conurl);


 Limits = Limits + 1;
 sql = ['SELECT * FROM ' TableName ];
 sql = [sql ' WHERE (' DateField ' = ' Date ')'];

 interest = fetch(exec(conn, sql));


 %sql = [sql ' ORDER BY ' SortField ' DESC' ];
 %sql = [sql ' LIMIT ' Limits];

 close(conn);
 out = interest.Data;
 end

但它不起作用。

这个查询有什么问题?

DateField的类型为adDateDate的格式为dd.mm.yyyy

附言:

以下是db中的表:

代码语言:javascript
复制
DBTable.Name = "MyTable"
DBTable.Columns.Append "StrField", adVarWChar, 160
DBTable.Columns.Append "DoubleField", adDouble, 40
DBTable.Columns.Append "IntField", adInteger
DBTable.Columns.Append "CurField", adCurrency
DBTable.Columns.Append "Today", adDate

DateField='Today'。(在matlab代码中)

我试着写这样的东西:

代码语言:javascript
复制
 sql = ['SELECT * FROM ' TableName ];
 sql = [sql ' WHERE (' DateField ' = ''' Date ''');' ];

它也不能工作:(这里是Date = '2010-12-31 00:00:00.0',DateField = 'Today')

EN

回答 1

Stack Overflow用户

发布于 2012-05-09 02:19:15

如果你发布了实际的错误消息,它会有所帮助。不过,在这种情况下,我认为一个问题是日期比较。你需要在"date“前后加上引号。尝试:

代码语言:javascript
复制
sql = [sql ' WHERE (' DateField ' = ''' Date ''')']; 

用于第二个SQL行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10504147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档