問題タブ [qtsql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1449 参照

python - QSqlRelationaltableModelをPyQtでフィルタリングするには?

PyQt のドキュメントに基づいて、以下のコードを作成しています。

3 行目では、すべての都市がリレーションに含まれます。モデル自体ではなく、関係をフィルタリングするにはどうすればよいですか? たとえば、都市には名前 ('X') を付けたいと思います。

0 投票する
1 に答える
571 参照

c++ - データベースのメタデータ情報をコーディングするための C++ ベスト モード

私は初心者の C++ 開発者です。

Qt を使用して C++ で単純なライブラリを開発し、SQLite データベースなどを使用してアプリケーションの構成を処理し、KEY、VALUE アクセスをシミュレートしたいと考えています。

実際には、次のテーブルで SQLite3 を使用しています。

ライブラリには、構成にキーと値のペアを取得して配置するメソッドが必要です。

簡単にするために、Qt::QSqlRelationalTableModel を使用しています。

これには、いくつかのテーブル名と列名を文字列として渡す必要があります。

これらのデータベース メタデータを定義する適切な方法は何ですか?

マクロや単純な定数の使用を避け、たとえばメインクラス内で静的構造体を使用したいと思います。

たとえば、次のようなソリューションです。

それは実行可能な選択ですか?上記のデータ構造を初期化する方法は?

ありがとう。

0 投票する
1 に答える
197 参照

c++ - isSelect QSqlQuery が期待どおりに機能しない

次のコードがあります。

そして、私は実行時に次のようなものを得ました:

そして、何度実行しても「次はありません」と出続けます。次に、コピーして貼り付けます

私のお気に入りのSQLエディタに入れて実行してください。1 つのセル (1 行/1 列) を返します。列の名前は「bk_cod」で、値は「bk38」です。

次に、プログラムを再度実行すると、次のようになります。

そして、そこから何度実行しても「1300610792 ==> bk38」を取得し続けます。

いくつかのコンテキスト

クエリ create_bsk は再入可能ではありません。識別子である結果 'bk38' が次のいずれかになるように更新を実行します。

  1. 作成した
  2. 取得した
  3. '' (空の文字列) は、バスケットが無視され、ID が生成されなかったことを示すセル値です。

しかし、それは常に cell を返します。したがって、ここによればQSqlQuery::next() は「true」である必要があります。

そして、上に示したように、プログラムを何度実行しても、SQL エディターで実行されていない限り、常に「次はありません」を返し、エディターで実行するとすぐに、何回実行してもプログラムを実行すると、常に ID と同じ 'bk_cod' が返されます。

何が欠けていますか?問題はほとんどの場合に発生しますが、常に発生するわけではなく、パターンを把握できていません。

0 投票する
1 に答える
133 参照

qt - QSqlDatabase の hello world アプリケーションがデバッグに失敗する

PostgreSQL を使用して QSqlDatabase の hello world アプリケーションを試しています。私の環境は次のとおりです: Windows 7 64 ビット、Qt 4.8.2、PostgreSQL 9.0.13。次のコードはコンパイルされますが、デバッグされません。つまり、QSqlDatabase::drivers() 行にブレークを配置すると、コードは例外で終了します。この行をコメントアウトすると、アプリケーションは期待どおりに実行されます。助言がありますか?

0 投票する
1 に答える
2882 参照

qt - QSqlTableModel::setData() に関連付けられた実行済み SQL ステートメントを取得する方法は?

QSqlTableModelメソッドsetDataを使用submitAllして、Qt アプリケーションからデータベース テーブルを挿入/更新していますcommit。ロギングのために、対応する SQL ステートメントを記録する必要があります。どうやってやるの?(私は見てQSqlTableModel::query()いますが、SELECTのみを返すようです)

これが私がやっていることの簡略化されたバージョンです。

更新または挿入を行った場合でも、最後の行には常に SELECT が出力されます。


アップデート

以下は、自己完結型のコード スニペットです。セットアップは、私は と を備えた UI を持っているというQTableViewことQPushButtonです。clicked()押しボタンの信号がaddNewRow()スロットに取り込まれ、任意の値が最初のセルに挿入されます。lastQuery()挿入ステートメントであると予想される結果を出力していますが、これは指定されたテーブルの SELECT ステートメントです。私は何を間違っていますか?

main.cpp

test1.h

test1.cpp