VS2019 が mysql8.0 データベースに接続する方法 (画像とテキスト付き)

VS2019 が mysql8.0 データベースに接続する方法 (画像とテキスト付き)

1. まず、VS2019とMySQLデータベースを準備します。どちらも公式サイトからダウンロードできます。接続プロセスを直接説明します。

2. 接続:

ステップ 1: MySQL インストール ディレクトリを開きます。ローカル インストール ディレクトリは次のとおりです (include および lib フォルダーがあるかどうかに注意してください)。

ここに画像の説明を挿入

ステップ 2: VS2019 を開き、新しい空のプロジェクトを作成します。

ステップ 3: プロジェクト名を右クリックしてプロパティ ページを開きます。

ここに画像の説明を挿入

ステップ4: 開くVC++ ディレクトリの include ディレクトリで、mysql インストール ファイルの include ファイルのパスをここに追加します。

ここに画像の説明を挿入

ステップ 5: プロパティ ページで、C/C++ を開き、[全般] を選択して、前のステップと同様に、追加の include ディレクトリの mysql ファイルに include ファイル パスを追加します。

ここに画像の説明を挿入

ステップ 6: プロパティ ページで、リンカー オプションをクリックし、[全般] をクリックして、mysql インストール フォルダー内の lib ファイル パスを追加のライブラリ ディレクトリに追加します。

ここに画像の説明を挿入

ステップ7: プロパティページのリンカーで、2番目の入力をクリックして変更します。 libmysql.libファイルを追加します。パスを追加せずに依存関係名 libmysql.lib を追加します。このファイルは、MySQL インストール フォルダーの lib ディレクトリにもあります。

ここに画像の説明を挿入
ここに画像の説明を挿入

ステップ 8: プロパティ ページの上部にあるプラットフォームを確認し、x64 を選択します。x32 ではエラーが発生する可能性があります。

ここに画像の説明を挿入

ステップ 9: MySQL インストール ディレクトリの bin\libmysql.dll を c:\windows\system32 にコピーします。

ここに画像の説明を挿入
ここに画像の説明を挿入

この手順を実行しないと、プログラムの実行時にエラーが発生する可能性があります。 libmysql.dll が見つからないというエラー。

3. テストコードを記述します。

まず、MySQL データベースを開きます。テストにはローカル データベース テーブルを使用します。

ここに画像の説明を挿入

テストコード:

#include <stdio.h>
#include "mysql.h"
#include<iostream>
名前空間 std を使用します。
void main()
{
	MYSQL mysql; //データベース構造 MYSQL_RES* res; //結果セット構造 MYSQL_ROW row; //char** 2次元配列、レコードを1つずつ格納 //データベースを初期化 mysql_init(&mysql);
	//エンコーディングを設定する mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
	// データベースに接続します // 接続に失敗した場合は、接続失敗に関する情報が表示されるので、それに応じて変更を加えることができます。
	// mysql_real_connect パラメータ: 2. ローカル アドレス 3. mysql ユーザー名 4. mysql パスワード 5. データベース名 6. ポート番号 if (mysql_real_connect(&mysql, "localhost", "root", "root", "luckysheep", 3306, NULL, 0) == NULL) {
		cout << (mysql_error(&mysql));
	}
	// データをクエリする mysql_query(&mysql, "SELECT * from department");
	//結果セットを取得します。res = mysql_store_result(&mysql);
	// データを表示します // ROW に値を割り当て、ROW が空かどうかを判断し、空でない場合はデータを出力します。
	(行 = mysql_fetch_row(res)) の間
	{
		printf("%s ", row[0]); //IDを印刷
		printf("%s ", row[1]); //IDを印刷
		cout << 終了;
	}
	//結果セットを解放します。mysql_free_result(res);
	//データベースを閉じます mysql_close(&mysql);
	//停止してgetchar()を待機します。
}

必ずmysqlのユーザー名とパスワードを変更してください。
出力:

ここに画像の説明を挿入

記録: 実は、プロジェクトは vs2010 で実行されており、データ テストなどのためにデータベースに接続したかったので、今日は vs2010 を mysql に接続したいと考えていました。しかし、丸一日かけてインストールし、エラーを一つずつ解決しても、結局は失敗し、#include <stdbool.h> でエラーが表示されました。調べてみると、C 言語はブール型の組み込みをサポートしていないことがわかりました。stdbool.h ヘッダー ファイルを参照することで、ブール型をサポートすることができます。 しかし、VS2010 は C99 を完全にサポートしていません...stdbool.h は C99 です...時間がないので、後で時間があるときに確認します。 。 。 。 。

ここに画像の説明を挿入

要約する

VS2019 を MySQL 8.0 データベースに接続する方法については、これで終わりです。VS2019 を MySQL 8.0 データベースに接続する方法についての関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • VS2019をMySQLデータベースに接続するプロセスと一般的な問題の概要

<<:  vue+element で動的スキニングを実装するためのサンプルコード

>>:  VMware マルチノード環境を構成する方法

推薦する

HTML 学習ノート - HTML 構文の詳細な説明 (必読)

1. HTML マークアップ言語とは何ですか? HTML は、Web ページの情報を表すマークアッ...

リモートホスト上でスクリプトや命令を実行する Zabbix の詳細な説明

シナリオ要件1. zabbix_server Web インターフェースのスクリプト機能を使用すると、...

jsは赤い封筒の順序と量を指定するアルゴリズムを実装します

この記事では、指定された赤い封筒の順序と金額を実装するためのjsの具体的なコードを共有します。具体的...

Web2.0: 情報過多の原因と解決策

<br />情報の重複、情報過多、情報強迫、パーソナライズされたカスタマイズ、検索エンジ...

CSSは固定比率のブロックレベルコンテナを簡単に実装できる

H5 レイアウトを設計する場合、通常はバナーに遭遇することになります。例えば、2:1 で表示したい場...

Linuxカーネルのアクセス制御セキュリティを強化する方法

背景以前、当社のプロジェクト チームは、Windows、Linux、macOS の 3 つの主要なオ...

HTMLを使用して、IPを制限する投票ウェブサイトの不正行為スキームを実装する

これは、IP アドレスが制限されている投票 Web サイトの不正行為の手口です。この方法は、投票 W...

React NativeとiOSの相互作用の詳細な説明

目次前提条件RNはiOSに価値を渡す方法1: ネイティブに値を通常通り渡す方法2: コールバック関数...

Centos7.5 構成 Java 環境のインストール Tomcat の説明

Tomcat は Java 言語をベースにした Web サーバー ソフトウェアです。この記事では主に...

React の調整アルゴリズム Diffing アルゴリズム戦略の詳細な説明

目次アルゴリズム戦略単一ノードの差分配列ノードの差分キー値の使用要件アルゴリズム戦略React の調...

CSS3は子供のころの紙飛行機を実現する

今日は折り紙飛行機(飛べる飛行機)を作ります基本的にすべてCSSで実装されており、JSはごく一部に過...

エラー 1045 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されました (パスワード使用: YES) 実用的な解決策

昨日はデータベースへの接続に問題はありませんでしたが、今日はデータベースへの接続時にこのエラーが報告...

Linuxプロセスネットワークトラフィック統計の実装プロセス

序文Linux には、ネットワーク接続、プロセス、およびその他の情報をリアルタイムで収集するための対...

HTML スペースコードの簡単な分析

HTML についてどれくらい知っていますか? 現在、基本的な HTML コードを学習している場合は、...

Vue印刷機能を実装する2つの方法の概要

方法1: npm経由でプラグインをインストールする1. npm install vue-print-...