をTADOQuery
使用して SQL Server データベースに接続されているコンポーネントがありますTADOConnection
。ここで、以下の SQL をコンポーネントに追加し、ExecSql を呼び出すと、適切な例外が発生します。これは、'Create' という単語にタイプミスがあるためです。
exec ('creat1e table myTable
(
col1 TPT_Dt not null ,
col2 TPT_FLOAT not null
)');
しかし、同じステートメントを別のステートメントに追加すると、TADOQuery コンポーネントはこの例外を無視します。例:
select * from SomeOtherTable where id = 10
exec ('creat1e table myTable
(
col1 DtDataType not null ,
col2 FLOATDataType not null
)');
Delphi が 2 番目のケースで例外を無視する理由を教えてください。
私の問題はselectステートメントではありません。if 条件を追加しても、同じ問題が発生します。
例えば
if not exists (select * from dbo.sysobjects where id = object_id('TABLE1278') and type='U')
begin
exec ('crea11te table table1278
(
col1 TPT_Dt
)');
end
Delphi は単にタイプミスを無視します。
前もって感謝します。
バジル