問題タブ [qsqldatabase]
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.
c++ - QT テーブルのデータベースから削除しようとしています
name
4 つのフィールド ( 、lastname
、semester
および)を持つ Student という名前のデータベースがありますstudentid
。
ユーザーが学生をデータベースに挿入し、挿入後にテーブルに学生を表示するオプションを使用できるようにするアプリケーションを接続しています。
テーブルには、DELETE
個別の機能に接続したすべての挿入学生用のボタンがあり、ユーザーがに基づいて個別に学生を削除するオプションを使用できますstudentid
。
問題は、クリックしても削除ボタンが機能しないため、何か間違っているように見えることです。エラーは発生しないので、バグを見つける手助けが必要です。
データベース作成コード:
database.cpp で呼び出されたデータベースから削除
MainWindow.cpp
//挿入のテーブルリストを作成する
//DELETE ボタン接続関数。
//Reload table は、削除された学生なしで新しいデータベースを表示するために、delete 関数の後に呼び出されます。
学生.cpp
更新:void Database::deleteStudent(int id)
クエリを次のように変更した場合:
テーブルは削除ボタンの後で問題なく削除されるため、studentid またはクエリに何か問題がありますか? すべてのテーブルではなく、個々の挿入を削除する必要があります。
c++ - クラス QSqlError にはメンバーの nativeErrorCode() がありません
私はかなり長い間この問題に苦労してきましたが、残念ながら私自身の推論も Google 検索も役に立ちませんでした。簡単に言えば、 QSqlError クラスで nativeErrorCode() 関数を使用しようとしています。コンパイラは言う: mainwindow.cpp:43:86: エラー: 'class QSqlError' には 'nativeErrorCode' という名前のメンバーがありません。これが参照する行です (正確には 2 行):
問題は些細なことのように思えますが、自分で答えを見つけることができません。#include は mainwindow.h ファイルにあります。いくつかの調査の後、他のフォーラムで、コンパイラが間違ったバージョンのヘッダー ファイルを使用していることを示唆している他の人々に気付きました。これは、Qt5 で関数 nativeErrorCode() が導入されてから発生する可能性が非常に高いと思われます。qt4 フォルダーをゴミ箱に移動しようとしましたが、それでも効果はありません。どんな助けでも感謝します