2017-02-27 6 views
0

TADOCommand.execute

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; 

「例外が発生しました」というメッセージが表示されて例外がスローされます。 私は、 '%'の代わりに '*'を使って試しましたが、where節にMODEL/BJT.MODELの前後に[/]を付けてはいけません。何が問題なの?それは(SECTIONなどの予約語を扱う)任意のフィールド名にプログラムによって生成されるため、括弧は必需品です

答えて

2

適切なアクセス構文で試してみてください。

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