問題タブ [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.
python - QSqlRelationaltableModelをPyQtでフィルタリングするには?
PyQt のドキュメントに基づいて、以下のコードを作成しています。
3 行目では、すべての都市がリレーションに含まれます。モデル自体ではなく、関係をフィルタリングするにはどうすればよいですか? たとえば、都市には名前 ('X') を付けたいと思います。
c++ - データベースのメタデータ情報をコーディングするための C++ ベスト モード
私は初心者の C++ 開発者です。
Qt を使用して C++ で単純なライブラリを開発し、SQLite データベースなどを使用してアプリケーションの構成を処理し、KEY、VALUE アクセスをシミュレートしたいと考えています。
実際には、次のテーブルで SQLite3 を使用しています。
ライブラリには、構成にキーと値のペアを取得して配置するメソッドが必要です。
簡単にするために、Qt::QSqlRelationalTableModel を使用しています。
これには、いくつかのテーブル名と列名を文字列として渡す必要があります。
これらのデータベース メタデータを定義する適切な方法は何ですか?
マクロや単純な定数の使用を避け、たとえばメインクラス内で静的構造体を使用したいと思います。
たとえば、次のようなソリューションです。
それは実行可能な選択ですか?上記のデータ構造を初期化する方法は?
ありがとう。
c++ - isSelect QSqlQuery が期待どおりに機能しない
次のコードがあります。
そして、私は実行時に次のようなものを得ました:
そして、何度実行しても「次はありません」と出続けます。次に、コピーして貼り付けます
私のお気に入りのSQLエディタに入れて実行してください。1 つのセル (1 行/1 列) を返します。列の名前は「bk_cod」で、値は「bk38」です。
次に、プログラムを再度実行すると、次のようになります。
そして、そこから何度実行しても「1300610792 ==> bk38」を取得し続けます。
いくつかのコンテキスト
クエリ create_bsk は再入可能ではありません。識別子である結果 'bk38' が次のいずれかになるように更新を実行します。
- 作成した
- 取得した
- '' (空の文字列) は、バスケットが無視され、ID が生成されなかったことを示すセル値です。
しかし、それは常に cell を返します。したがって、ここによればQSqlQuery::next() は「true」である必要があります。
そして、上に示したように、プログラムを何度実行しても、SQL エディターで実行されていない限り、常に「次はありません」を返し、エディターで実行するとすぐに、何回実行してもプログラムを実行すると、常に ID と同じ 'bk_cod' が返されます。
何が欠けていますか?問題はほとんどの場合に発生しますが、常に発生するわけではなく、パターンを把握できていません。
qt - QSqlDatabase の hello world アプリケーションがデバッグに失敗する
PostgreSQL を使用して QSqlDatabase の hello world アプリケーションを試しています。私の環境は次のとおりです: Windows 7 64 ビット、Qt 4.8.2、PostgreSQL 9.0.13。次のコードはコンパイルされますが、デバッグされません。つまり、QSqlDatabase::drivers() 行にブレークを配置すると、コードは例外で終了します。この行をコメントアウトすると、アプリケーションは期待どおりに実行されます。助言がありますか?
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