这是我的SELECT-query代码。SELECT * FROM TableName WHERE (DateField = Date)
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的类型为adDate。Date的格式为dd.mm.yyyy。
附言:
以下是db中的表:
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", adDateDateField='Today'。(在matlab代码中)
我试着写这样的东西:
sql = ['SELECT * FROM ' TableName ];
sql = [sql ' WHERE (' DateField ' = ''' Date ''');' ];它也不能工作:(这里是Date = '2010-12-31 00:00:00.0',DateField = 'Today')
发布于 2012-05-09 02:19:15
如果你发布了实际的错误消息,它会有所帮助。不过,在这种情况下,我认为一个问题是日期比较。你需要在"date“前后加上引号。尝试:
sql = [sql ' WHERE (' DateField ' = ''' Date ''')']; 用于第二个SQL行。
https://stackoverflow.com/questions/10504147
复制相似问题