スキップしてメイン コンテンツに移動

Qt Creator でデータベースソフトを作る!第6回

前回はデーターベースにアクセスができないことを取り上げたが、今回は、ユーザー名及びパスワードを直接入力した値で使用することで、データーベースとのアクセスが加納となった。また、ユーザー管理用のテーブルを用意し、データーの有無で認証する方法なら目標となる形に近い形になることが可能にした。しかしながら、MySQLサーバー側で認証するわけではないので、達成感が少し萎えている。

まず、ユーザー登録つまり、insert文の実行とselect文の実行を試みた。後者は、ユーザー認証の際に使用した方法を用い入れば、容易に作業が進み、前者は、後者の応用で可能にした。

ユーザー管理の一覧表には、ユーザーIDとともに編集と削除ボタンを配置する形にすることにしたが、なかなかうまくいかず、以下の方法で可能にした。

do{
            //Result->relative(i);
            if(Result->getString(2)!=""){
                QTableWidgetItem *item_1=new QTableWidgetItem(Result->getString(1).c_str());
                QTableWidgetItem *item_2=new QTableWidgetItem(Result->getString(2).c_str());
                ui->tableWidget->setItem(i,0,item_1);
                ui->tableWidget->setItem(i,1,item_2);
                pwidget=new QWidget();
                PushButton_4=new QPushButton("編集");
                PushButton_5=new QPushButton("削除");
                HLayout=new QHBoxLayout(pwidget);
                HLayout->addWidget(PushButton_4);
                HLayout->addWidget(PushButton_5);
                HLayout->setAlignment(Qt::AlignCenter);
                HLayout->setContentsMargins(0,0,0,0);
                pwidget->setLayout(HLayout);
                ui->tableWidget->setCellWidget(i,2,pwidget);
                ui->tableWidget->setEditTriggers(QTableWidget::NoEditTriggers);
                ui->tableWidget->setSelectionMode(QTableWidget::ContiguousSelection);
                ui->tableWidget->setSelectionBehavior(QTableWidget::SelectRows);
                i=i+1;
                connect(PushButton_4,SIGNAL(clicked()),this,SLOT(on_PushButton_4_clicked()));
            }
        }while(Result->next());

do~whileを用いればselect文で検索されたすべてのデータを表示することができた。ちなみにwhile文だと2番目以降のデータのみが表示される。

今後の課題は、設置したボタンにイベントを追加することです。例えば、クリックしたら編集画面が表示され、選択行のデータが表示されるといったものです。
編集画面の表示はうまくいくのですが、選択行のデータ表示までは至りませんでした。

 

 図1:ユーザー認証のウィジェットとです。

 図2:メインメニューになります。
 図3:設定ボタンをクリックすると検索画面が表示されます。
 図4:検索結果になります。テーブル内にあるデータすべてを表示しています。
 図5:絞り検索すると上記になります。
 図6:新規登録ボタンをクリックすると入力画面が表示される。
 図7:編集ボタンをクリックすると編集画面が表示される。

コメント

このブログの人気の投稿

特定化学物質及び四アルキル鉛等作業主任者の資格を取得しました!

5・6日に特定化学物質及び四アルキル鉛等作業主任者の技能講習に行きました。16日に修了証が郵送されてきて、とりあえず良かったです。 実をいうと、修了試験に合格しているかは不安だったんです。 法関連の講義が、前回受講した有機溶剤作業主任者の講義をしていた人だったので、内容も類似点が多く、正直ほとんど寝ていました。 そういうこともあり、最初の問題は、すごく焦りました。 4問正しい答えであれば万々歳といった感じだったんです! まあ、とりあえず取得できて本当に良かったです。

有機溶剤作業主任者の技能講習に合格!

10日に有機溶剤作業主任者技能講習修了証が郵送されてきました。とりあえず、合格してよかったです。 講義中、どういった問題がでるかを言っていたので、修了試験は、めっちゃ簡単でした。 合格率95%以上はうなずけます。

サイクリング記 2017/05/04 狭山湖外周道路編

今回は、閉道時間の早い道から順に走行することにしました。 まず、狭山湖外周道路です。閉道時間は午後4時です。 なので、多摩湖堰堤から狭山湖堰堤まで、まず向かいました。 狭山湖堰堤に到着。ここを起点にして右回りしようと思います。 狭山湖堰堤南口の様子。なかなかの交通量で、少し危険かもしれませんが、ちゃんと歩道が整備されているので、安全です。 都道55号線に合流します。向かい側に多摩湖外周道路がありますが、自転車道を使わず、このまま、歩道を走行します。 南側ゲートに到着。立ち入り禁止になっているので不通かと思いきや、ちゃんと自転車が通れるぐらいのスペースが開けられています。この道を通ります。 心臓破りな坂を上り、ダートな道を進むとまず、六地蔵に到着します。 そして再びダートな道が続き、休憩地点の猿久保便所を通り過ぎます。  猿久保便所 猿久保便所を500m進むと六道山公園に到着します。3月22まで、外壁補修工事で立ち入り禁止になっていた、展望台があります。  六道山公園 展望台 近くで展望台を見ると外壁がきれいになっているのがわかります。 さっそく上がってみることにします。  西側 南側  東南側 デジカメで撮影したはいいが、遠方の景色が真っ白で、わからない景色になってしまいました。 西側は富士山がきれいに見えたのですが、真っ白で写っていませんでした。 なので、携帯電話のカメラで撮影してみることにしました。 まあまあ、きれいに映ってくれています。よかったです。 一応満足したので、先を急ぎます。 出会いの辻に到着しました。ここから、ダートな道になります。     ダートな道の入り口。看板があるので、一応遊歩道です。なので、歩行者優先で安全走行しないといけません。 新緑に囲まれている外周道路。しばらく晴れていたので、路面がぬかるんでいるということはありませんでした。走行しやすかったです。 北側ゲートに到着。ここから、一般道のような道になります。舗装されていませんけどね。対向車がたびたび遭遇するので、生活道路になっていると思います。 狭山湖堰堤北口に到着。さっそく堰堤に向かいます。 狭山湖堰...