TADOCommand.execute

TADOCommand.execute

当我执行此 SQL 查询时:

aC.commandText := 'SELECT [MODEL], [PART], [SECTION], [FOOTPRINT], [NODELIST] FROM BJT';
aDS.resultSet := aC.execute;

它 运行 成功了。但是当我 运行 这个(带有 where 子句)时:

aC.commandText := 'SELECT [MODEL], [PART], [SECTION], [FOOTPRINT], [NODELIST] FROM BJT WHERE lower( BJT.MODEL ) LIKE ''m%'';';
aDS.resultSet := aC.execute;

它抛出异常消息:'Unspecified exception'。 我在 where 子句中用 '*' 而不是 '%', with/without [] 尝试过 MODEL/BJT.MODEL,它是一样的。它有什么问题?括号是必需的,因为它是由程序为任何字段名称生成的(处理保留字,如 SECTION)

尝试使用正确的 Access 语法:

'SELECT [MODEL], [PART], [SECTION], [FOOTPRINT], [NODELIST] FROM BJT WHERE LCase([MODEL]) LIKE ''m*'';'