0

これはSELECTクエリの私のコードです。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

ps:

これは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", adDate

DateField='Today'。(matlabコード内)

私はこのようなものを書き込もうとしています:

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

それも機能しません:((ここDate = '2010-12-31 00:00:00.0'では、DateField = 'Today'

4

1 に答える 1

0

実際のエラー メッセージを投稿していただけると助かります。ただし、この場合、問題の 1 つは日付の比較にあると思います。「日付」を引用符で囲む必要があります。試す:

sql = [sql ' WHERE (' DateField ' = ''' Date ''')']; 

2 番目の SQL 行。

于 2012-05-08T18:19:14.773 に答える