前回の記事でエクセルでサンプル管理ソフトを作成した。そこで、次はQtを利用したサンプル管理ソフトを作ってみようと思いたった。
まず、ソフトのインストールから説明する。
MySQL以外はインストール画面に従っていく又はyumコマンドを実行すればインストールは完了するので割愛します。
MySQLコマンドを実行するコードは別のクラスファイルに記述し子クラスにしました。Widgetが 実行され、ログイン画面が出ると「ログイン」ボタンをクリックすると、データベースに問い合わせし、成功すれば閉じるというプログラムです。
void Widget::on_pushButton_clicked()
{
if (MySQL.Login() == "True"){
this->close();
}
}
上記のコードで実行すると
no match 'operator ==' (operand types are 'Cmd_MySQL' and 'const char [5]')
とでてしまい、実行できない状態になってしまいました。
なぜ、どこが悪いのかわからないため、作業がストップしています。
もう少しインターネットなどで探ってみようと思います。
ソースコード: https://drive.google.com/file/d/0B0oSFZs-dbRZRDFxUGpKS05GM1k/edit?usp=sharing
まず、ソフトのインストールから説明する。
ソフトのインストール
インストールするソフトは以下の通りです。- Fedora20
- MySQL
- Qt-5.3.1
- Creator 2.3
MySQL以外はインストール画面に従っていく又はyumコマンドを実行すればインストールは完了するので割愛します。
MySQLのインストール
- yum install community-mysql* を実行する。
- systemctl start mysqld.servce及びsystemctl enable mysqld.serviceを実行する。これでサービスが開始され、起動時サービスが起動されます。
- /etc/my.cnfを編集し、サービスを再起動させます。
innodb InnoDBストレージエンジンで起動させます。
inno-file-per-table 既存の保存先を利用する場合必要
character-set-server=utf8 Unicode UTF8を利用する場合必要 - MySQLユーザーがrootでMySQLにログインし、パスワードを設定する。
mysql -u root -p
password:PassWord
select user,host,password from mysql.user ユーザー名とホスト名とパスワード
を確認する。
set password for UserName@"HostName"=password("PassWord");
パスワードを設定する。 - 続いて管理者ユーザーを作成する。
grant all privilege to *.* to UserName@"HostName" identified by "PassWord" with grant option;
granto optionをつけることでユーザー追加及び削除等が可能になる。 - ログアウトする。
Creatorを使ってみる
早速、ウィジェットを作成してみることにしました。ユーザーログインのウィンドウを作り、SQLでユーザーログインができれば閉じるプログラムを作りました。MySQLコマンドを実行するコードは別のクラスファイルに記述し子クラスにしました。Widgetが 実行され、ログイン画面が出ると「ログイン」ボタンをクリックすると、データベースに問い合わせし、成功すれば閉じるというプログラムです。
void Widget::on_pushButton_clicked()
{
if (MySQL.Login() == "True"){
this->close();
}
}
上記のコードで実行すると
no match 'operator ==' (operand types are 'Cmd_MySQL' and 'const char [5]')
とでてしまい、実行できない状態になってしまいました。
なぜ、どこが悪いのかわからないため、作業がストップしています。
もう少しインターネットなどで探ってみようと思います。
ソースコード: https://drive.google.com/file/d/0B0oSFZs-dbRZRDFxUGpKS05GM1k/edit?usp=sharing
コメント
コメントを投稿