Delphiの使用すべてのフィールド、制約、外部キー、インデックスを含む特定のテーブル構造(データなし)を含むクラスを作成する必要があります。目標は「標準的な」表を持ち、それを比較して相違点を見つけることです。このことは私の大きなプロジェクトに含めるべきで、私は "外側の"コンパイラを使うことはできません。さらに、この機能は拡張される可能性がありますので、私は自分自身で実現する必要があります。問題は、この情報を取得し、接続文字列を持ち、特定のテーブル名を知る方法です。 SQL Server 2008が使用されています。Delphi:オブジェクトへのテーブル構造の取得方法
答えて
あなたはDelphiのソースを見れば、それはこのように行われています:
* = 2 1
表から更新選択:
メタデータは、例の制約のために、Information Schema Viewsで取得することができます:
SELECT * FROM databaseName.INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
Where TABLE_NAME='tableName'
これは、制約、外部キー、インデックス、およびその他のメタデータではなく、列名のみを取得します。 –
負の 'where'条件を使用すると、SQL解析と実行中に条件を評価する必要があるため、IOサイクルが浪費します。例えば、ファイアバードサーバは、負の 'where'条件に対して' Execute time = 110ms'を消費します。 'select first 0 * table 'を使うと、実行中に' Execute time = 0ms'を消費します。 –
私はデルファイに触れてから非常に長い時間を過ごしましたが、私は以前にやったことをいくつか覚えています。同様に
select top 0 * from table
は0レコードを返しますが、TQueryにはメタデータが「移入」されます。または、TClientDataSetで行を-1に設定することもできますが、これは同じ効果があります。
私が言ったように、私はDelphiで微妙に変化していて、BDEを使用していてネイティブクライアントではないので、これは役に立たない可能性があります。
これは少しでも役立ちます。
帽子はAntonioと同じですが、hatは制約、外部キー、インデックス、およびその他のメタデータではなく、列名のみを取得します。 –
'select top'構文は、異なるデータベースサーバ間の標準SQLではありません。 Firebirdサーバは 'select first'を使い、MySQLは' limit'キーワードを使うかもしれません。 –
- 1. Delphiの構造体をC#に変換して構造体からデータを取得する方法
- 2. XML構造からMySQLテーブル構造へ
- 3. CodeIgniterでテーブル構造を取得する方法
- 4. 構造/テンプレート名で構造/テンプレートIDを取得する方法
- 5. PHPでmysqlテーブル構造を取得
- 6. このテーブル構造のLaravelへのモデル構造?
- 7. 構造体のインスタンスへのポインタのメンバーを取得する方法は?
- 8. jnaの構造体の配列へのポインタを取得する方法
- 9. 構造体へのアクセスを別のクラスから取得する方法は?
- 10. PL/SQLへのRubyテーブルのデータ構造
- 11. 非構造オブジェクトの後にオブジェクトを取得し
- 12. C++構造体オブジェクト型エラーへのポインタ
- 13. データベース構造の取得
- 14. 構造内のメンバーのビット位置を取得する方法
- 15. 構造体ページから構造体vm_area_structを取得する方法
- 16. 構造のテーブル
- 17. 複雑なオブジェクト/配列構造からデータを取得する方法は?
- 18. ポインタからメンバーへのポインタを含む構造体へのポインタの取得方法は?
- 19. Goの構造体への構造体の変換を実装する方法
- 20. 配列へのアクセス方法配列の内部構造C++の構造体?
- 21. 2つの同じ構造化テーブルからmysqlクエリを取得
- 22. Delphi 10でデータセット構造(TFDQuery)をクローンする方法は?
- 23. テーブルAからテーブルBへの個別レコードの挿入方法(どちらのテーブルも同じ構造)
- 24. MySQLテーブルの構造
- 25. ゲストチェックアウトのテーブル構造
- 26. sqlのテーブル構造
- 27. 3つのモデルから値を取得し、構造を構築する方法
- 28. オブジェクトのデータ構造
- 29. 構造体のフィールドのリストを取得
- 30. Liferay構造からコンテンツを取得する方法
[質問](http://stackoverflow.com/questions/181909/tool-for-scripting-tab) le-data)が同じでない場合、誰かが役立つ可能性のあるすべてのテーブル定義、データベース情報などを取得する回答(コメントブロックとすべてのSQLスクリプトを持つ回答)を投稿しました。 –
一般的な方法はありません。したがって、抽象ベースを宣言し、実際のスキーマデータをDBMS固有のストレージから移入する必要があります(例:SQL-92対応DBMSのINFORMATION_SCHEMA) – OnTheFly
TADOConnection.OpenSchemaを使用すると、あなたの情報の大半を得ることができます。他のスキーマ関連の情報はsysテーブルにあります(SQL Serverのバージョンによって異なります)。 – kobik