
C言語+MySQL入門 PartⅢ
コンソール版在庫管理アプリを作ろう
「学んだDB操作をつなげて、ひとつのアプリを完成させよう。」
PartⅢでは、これまで学んだMySQL接続、SQL実行、プリペアドステートメント、トランザクションを組み合わせ、コンソール版の在庫管理アプリを完成させます。商品の登録・一覧・変更・削除だけでなく、入庫、出庫、在庫履歴まで備えた実践的なアプリです。MySQLのユーザー権限や接続情報の扱い、入力チェック、エラー処理、複数ファイルへの分割など、実際のアプリ開発で必要になる考え方も学びます。いきなり完成コードを書くのではなく、最初に機能やデータ、関数、ファイル構成を設計してから少しずつ実装するので、個人学習でも迷いにくくなっています。C言語とMySQLがどのようにつながって一つのアプリになるのか、じっくり体験してみましょう。
第9章 MySQLのユーザーとセキュリティを学ぼう
完成するアプリからMySQLへ接続するとき、管理者用のユーザーをそのまま使用するのは適切ではありません。この章では、第3章で作った学習用ユーザーを題材に、アプリに必要な権限だけを与える考え方を学びます。GRANTやSHOW GRANTSを使った確認に加え、ホスト、ポート、データベース名、ユーザー名などの接続情報を設定として扱う方法も考えます。パスワードをソースコードや配布用ZIPへ直接入れないための方針も整理します。
第10章 コンソール版在庫管理アプリを設計しよう
ここからは、これまで作ってきた処理を組み合わせて一つの在庫管理アプリにしていきます。まずこの章ではコードを書く前に、完成する画面、必要な機能、商品データ、在庫履歴、削除時のルールなどを整理します。さらに、DB処理や入力処理をどの関数に分けるのか、main.cやdb.cなどのファイルをどのように分割するのかも決めます。先に設計することで、規模が大きくなっても分かりやすいプログラムを目指します。
第11章 商品のCRUD機能を作ろう
第10章で決めた設計をもとに、商品の登録・一覧・変更・削除を実装します。商品名や単価を入力して登録し、保存された商品を一覧表示し、商品IDを使って変更や削除の対象を指定できるようにします。数字以外の入力、負の単価、空の商品名、存在しないIDなど、正常に操作できないケースにも対応します。最後には4つの基本操作をコンソールのメニューから呼び出せるようにし、商品のCRUDが動作するアプリへ仕上げます。
第12章 コンソール版在庫管理アプリを完成させよう
商品のCRUDが完成したら、在庫管理アプリならではの機能を追加します。商品IDと数量を指定する入庫・出庫、在庫履歴の保存と一覧表示を実装し、トランザクションを使って在庫数と履歴を正しく更新します。DB処理を画面に依存しない関数として整理し、複数のソースファイルをまとめてビルドする方法も学びます。最後には通常操作だけでなく、不正入力、在庫不足、存在しないID、サーバー停止なども確認し、コンソール版を完成させます。








