MFCでDBテーブルを操作したい話 1

管理人のタツです。

題の通り、DB操作をやっていきます。

とりあえず今回は環境構築を。

いきなり閑話

世間はお盆に入ろうとした8月上旬、基本情報を受けてきました。

IT会社に勤務してもうそろそろ4年目、ようやく腰を上げました。

少し前から試験体制が変わって、
基本情報もA科目B科目ともにすべてCBT方式になりましたね。

結果もすぐに表示されます。

微妙に数字が違うかもしれませんが。

  • A科目:745点
  • B科目:820点

取れました。

つまり合格です。

正式な合格発表は9月中旬、証明書の発行は10月中旬ですかね。

また、合格しました記事をどこかで書きたいです。

MySQL ダウンロード & インストール

さて、今回MySQLを使ってDBの処理を行います。

Visual Studioはいつも通り2022で。

これは既にインストール済。

一応伝えると、OSはWindows 11です。

とりあえず、MySQLはインストールされていない状態から始めます。

MySQL ダウンロード

ブラウザで「MySQL Download」って打てばダウンロードページが出てきます。
そこから「MySQL Community(GPL) Downloads」へ。
※ウェブページは変わっている可能性はあります。

「MySQL Installer for Windows」を選択し、インストーラーをダウンロードします。

↓↓↓↓

今回は最新が8.0.39でしたので、これで行きます。

Downloadをクリックするとサインアップの画面が出てきますが、
気にせず「No thanks, just start my download」をクリック。

MySQL インストール

ダウンロードが終わると、
mysql-installer-community-8.0.39.0.msiなるものがあるはずなので、実行。

途中、変更を加える注意画面か警告画面が出てきますが、「はい」で進めます。

出てきたのがこちら。

今回正直、MySQL Serverさえあれば動きそうなので、
「Server Only」でいいかもしれませんが。

Workbench(Client側)はあったら何かと便利なので、Fullにします。

これらをインストールします。
因みに、Fullと言いながら実は足りないものがあります
他のバージョンですと、このインストーラにあったりなかったりするんですよね。
他の方のブログを見るとインストール内容が違うのが分かるかもしれません。


まだ対応してないのか?それともクライアントの環境に依るのか?
よくわかりませんが。

まぁそれは後で追加するとしてとりあえずExecute。

パソコンの性能にもよりますが、少し時間かかりますかね。
特にShellが。

((((((((((っ・ω・)っインストール中

終わりました。

Nextで次へ。

Product Configurationの画面です。

それぞれの製品(ServerやRouterなど)に対して詳細な設定オプションが提示されるよ、
とかな気がしますが、気にせずNextへ。

MySQL Serverの設定です。
デフォルトでいいのでNextへ。

権限の話ですが、公式が推奨(recommended)してるならそっちを選択。

rootアカウントのパスワード入力欄です。

パスワードだけ入力して、Next。
ユーザ追加は今回しません。

Windows Service画面。
いじる必要はないです。

Server File Permission
こちらもそのままNext。

最後に適用画面。

Executeで実行します。

完!(まだだよ)

Finishを押すともう一度Product Configurationの説明画面に戻ります。
今回MySQL Routerも対象なので、今度はそちらの設定へ。

Product Configuration画面でNextを押すと、Router Configurationの画面です。

こちらは何もしなくてよさそうです。
Finishで終わらせます。

そして例によってProduct Configuration画面に戻りますので、再びNext。

サーバに繋ぐみたいです。

先ほど設定したパスワードを入力し、Checkして問題なければNextが押せるようになります。

Apply ConfigurationはExexute。

終わったらFinish。

再度Product Configuration画面に戻りますのでNext。

インストールは完了です。

画像はShellと Workbench起動するにチェックが入っていますが、
起動必要なければ外します。

MySQL Connector/C++ インストール

先ほど足りないものがあるといったものをここで追加します。

ダウンロードページに戻り、Connector/C++ページに飛びます。

この記事執筆時点で、最新バージョンが9.0.0でした。
実はMySQL Serverも最新は9.0.0なのですが、
他(WorkbenchやShell)がまだ8.x.xなので、同封しているインストーラーには8.0.39が入っています。

今回はメジャーバージョン(名前合ってる?)を合わせたいため、Archivesへ飛びます。

MySQL Serverが8.0.39なので、それに近しい8.0.33を選択しました。

ダウンロードしたmysql-connector-c++-8.0.33-winx64.msiを実行します。

インストール画面が出てきますので、Nextをクリック。

同意画面が出てきますので、acceptしてNext。

セットアップタイプを聞かれます。
後で追加が必要とかになると面倒なので、自分はCompleteを選択します。

インストール実行します。

これでMySQL関連のインストールは完了です。

一応、インストール物を見て見ます。

特に変更していなければC:\Program Files\MySQLにあるはずです。

動作確認

スキーマ・テーブル作成

MySQL Workbenchを開きます。

MySQL Connectionの隣にある+ボタンで新規作成します。

Connection Nameは適当にTest01としました。
HostnameやPort、Usernameはそのままです。

パスワードのストアを選択し、さっき設定したパスワードを入れます。
(この設定未だに必要なのかよく知らないんですけどね。とりあえず…。)

終わったらTest Connection。

成功したみたいです。
ここで成功してくれなきゃ困ります。

OKを押して作成します。

出来上がったTest01を選択。

スキーマ新規作成します。

今更ですが、こんな日記調ブログを参考にされる方、
バージョンによってレイアウト変わってるかもしれないので、そこはご注意を。

スキーマ名を決めてApplyします。
今回はTestSchema1。

メッセージが出てきますが気にせずOK。
その後、Reviewが表示されますので、Apply。

成功すればFinish。

スキーマ追加ができました。

続いてテーブル追加。
Tablesを右クリックし、作成します。

テーブル名はTestTable1。
列はテストなので適当でいいです。
決めたらApply。

画像は、ageのDatatypeがVARCHARになってますが、後でINTに直してます。

同じくメッセージが出てきますが、OK。
Reviewが表示されますのでApplyします。

テーブルも無事追加されました。

データ追加

※詳細な使い方は他のブログの方を参考にしてください。

select allを実行しても当然何も出てきません。

Form Editorを選択し、データを入れます。
(今回idはオートインクリメントしてるので空欄でもOKです。自動補完してくれます。)

え、構文を書け??
知らなーい♪~(´ε` )

例によってReviewが出てきますので、Apply。

再度selectを実行するとちゃんとデータが入っていました。

おまけ A5:SQL Mk-2を使う

仕事場で大変お世話になっています。

自分はMicrosoft Storeから入手しています。
執筆時点で最新バージョンは2.19.0です。
どちらがいいかは公式または参考サイトへ。

データベースの追加と削除をクリック。

追加を押し、MySQLの直接接続を選択。

パスワードだけ入力すればいいです。
ホスト名やポート番号やユーザIDは、Workbench側を変更していなければそのまま。

テスト接続で成功したら。OKを押します。

パスワードを保存するにチェック入れておくと、次回ログイン時簡単なのでチェック。

最後にデータベース名はとりあえずデフォルトでOK。

左のツリーにmysqlが追加されるので、クリック。
パスワード入力が求められるので、入力して接続します。
自分はさっきパスワード保存したので既に入力されてます。

ツリーを深堀して、testteble1までたどり着き、テーブルを開きます。

先ほど追加したデータに加えて、2件追加してました。
ちゃんと取得できました。

終わりに

今回はここまで。

次回は実際にC++でDB接続を行い、処理を作りたい…

…のですが。

失敗談です。

MFCでDBテーブルを操作したい話 2
前回までの話今回は、前回作ったDBからデータを取得したいなーって話。...できたらいいなー...。プロジェクト作成いつも通りVisual Studio2022で作ります。今回ソリューション名はMySQLTest、プロジェクト名はMySQLT...

成功談を読みたい方は第3回をお勧めします。

MFCでDBテーブルを操作したい話 3
前回までの話別アプローチさて、前回なぜかDB接続ができちゃった(?)って話でしたが。今度はMySQL Connector C++を使わない方法でやってみます。もともと、この記事を書く予定でしたので、こちらを先に。手順としては、sqlファイル...

コメント

タイトルとURLをコピーしました