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

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

MySQLを利用してログイン画面で認証しようという試みは、つい先日、乗り越えることができました。

問題箇所は複数あり、データ型が違っていたことが原因のようです。

MySQL_Query:
/Setting m_UserName
    this->UserName_tmp=UserName.toStdString().c_str(); <--QString~stringに変換
    this->m_UserName=QString(UserName_tmp.constData());<-String~QStringに変換     UserName_save.append(m_UserName.toStdString());<-グローバル変数に代入
    this->m_db.setUserName(m_UserName);<-QSqlDatabaseに登録

PassWordはUserNameと同様に変換すればいいので割愛します。
データベース名とデータベースドライバー名は直接代入することにしました。
理由は、この2つは同じ値を使うためです。なので割愛したいと思います。

ホスト名は、直接代入する方法がありますが、動的でないので、ここは複数のパソコンからアクセスすることを想定し、動的にしようと思います。

    this->fd=socket(AF_INET,SOCK_DGRAM,0);
    this->ifr->ifr_ifru.ifru_addr.sa_family=AF_INET;
    this->m_HostAddr->append(inet_ntoa(((struct sockaddr_in *) &
    ifr->ifr_ifru.ifru_addr)->sin_addr));
    this->HostAddr_Len=this->m_HostAddr->length();
    this->m_HostAddr_char=new char[this->HostAddr_Len+1];
 memcpy(this->m_HostAddr_char,this->m_HostAddr->constData(),this->HostAddr_Len);
 とすればIPアドレスが得られると掲載されているサイトがあり、抜粋して試してみた。
しかしながら、得られる値はIPアドレスであることに違いないが、欲しい値ではないことが判明した。このやり方だと、@0x13e8と得られる。私の欲しい値はプライベートアドレスです。なので、他の方法がないか探すことにしましたが、見つからずじまいでした。思いついたのは、hostnameがつかえればプライベートアドレスが得られるのではないかと考え、使う方法を探し当てました。
その方法は、system("hostname -i")とするだけです。この方法であればプライベートアドレスを得ることができることをつきとめました。
次にユーザー登録フォームを完成させようとしたのですが、Queryが働かず、突然終了してしまう事態になってしまいました。いよいよお手上げのようです。
ソースファイル: https://drive.google.com/file/d/0B0oSFZs-dbRZOGZ0NDZ3dFRQanc/edit?usp=sharing

コメント

このブログの人気の投稿

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

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

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

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

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

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