最近、一部のDelphi/InterBaseアプリケーションが表示されます
「他のユーザーによってレコードが見つからないか、変更されていません」
これらは、dbExpressのデフォルトのTSQLQuery / TClientDataSet(またはTSimpleDataSet)コンポーネントを使用します。
データベーステーブルで、フィールドが非dbExpressアプリケーションによってミリ秒単位で格納されていることがわかりました。
dbExpressがDBからミリ秒を読み取らず、更新テーブルのSQLステートメントの「where」条件でその切り捨てられた値を使用したため、更新する一致するレコードがなかったようです。
更新:DelphiアプリケーションでTSQLTimeStampフィールドを使用しています。OnBeforePostハンドラーがフィールド値を変更していません。
アップデート2
IBExternals.pasに見られるように、PCTimeStructureにはミリ秒の部分がありません。したがって、「設計上」、Delphi(2009)のInterBaseではミリ秒はサポートされていません。
Delphiの新しいバージョンでmsサポートが追加されているかどうか誰かが知っていますか?