6

を使用Qtして、データベースに接続し、テーブルから列の型と名前を一覧表示する必要があります。2 つの制約があります。

1 データベースの種類が問題であってはなりません (これはPostgreSQLSQL ServerMySQL、 ... で機能する必要があります)

2 インターネットで調べたところ、テーブルに 1 つ以上のレコードがある場合にのみ機能するソリューションが見つかりました。そして、このデータベースにレコードの有無にかかわらず、列のタイプと名前を取得する必要があります。

私はインターネットでたくさん検索しましたが、解決策は見つかりませんでした。

私はQt/C++それを行うことができるクエリで、または使用して答えを探しています。

手伝ってくれてありがとう !

4

5 に答える 5

19

QSqlDriver::record()QSqlRecordはテーブル名を受け取り、を使用してフィールドを取得できる を返しますQSqlRecord::field()

したがって、QSqlDatabaseデータベースが与えられた場合、

  1. db.driver()、でドライバーを取得します
  2. db.tables()、でテーブルのリストを取得します
  3. QSqlRecordから各テーブルの a を取得しdriver->record(tableName)
  4. でフィールドの数を取得しrecord.count()、名前と型を取得しますrecord.field(x)
于 2013-09-17T07:22:10.577 に答える
0

解決策を見つけました。recordから関数を呼び出すだけQSqlDatabaseです。空のレコードがありますが、列のタイプと名前を読み取ることができます。

于 2013-10-02T07:17:10.127 に答える