mysqlデータベースに接続するためのC言語(1)

  • 環境:vs2015
  • 前提条件:MySQLがインストールされ、正常に接続されており、ユーザー名(通常はroot)、パスワードを知っている

1つは、構成環境

  1. コンソールアプリケーションを作成する(空のプロジェクト)
  2. 新しいアイテム、conn.cソースファイルを作成
  3. プロジェクト名を右クリックし、[プロパティ]をクリックします
  4. VC ++を見つけ、変更します。インクルードディレクトリとライブラリディレクトリをそれぞれ、mysqlインストールパスの下にインクルードフォルダとlibフォルダを追加します。
  5. lib(mysqlインストールディレクトリ)フォルダのlibmysql.dllを、現在のconn.cファイルが配置されているのと同じレベルのフォルダにコピーします。
  6. プロジェクトプラットフォームをx64に変更します

ステップ4
ステップ5
ステップ6

次に、コードを実行します

コードのコピー、情報の変更、
コードのデバッグ

#include <stdio.h>
#include <mysql.h>
#pragma comment(lib,"libmysql.lib")

int main(void)
{
    
    
	MYSQL mysql;    //一个数据库结构体
	MYSQL_RES* res; //一个结果集结构体
	MYSQL_ROW row;  //char** 二维数组,存放一条条记录
	
	//初始化数据库
	mysql_init(&mysql);
	//设置编码方式
	mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
	//连接数据库
	mysql_real_connect(&mysql, "localhost", "root", "***", "java", 3306, NULL, 0);
	//查询数据
	mysql_query(&mysql, "select * from person");
	//获取结果集
	res = mysql_store_result(&mysql);
	//显示数据
	printf("id\t姓名\t地址\t电话\t年龄\n");
	while (row = mysql_fetch_row(res))
	{
    
    
		// 根据数据库中的属性列 先后顺序打印字符串
		printf("%s\t", row[0]);
		printf("%s\t", row[1]);
		printf("%s\t", row[2]);
		printf("%s\t", row[3]);
		printf("%s\n", row[4]);
	}
	//释放结果集
	mysql_free_result(res);
	//关闭数据库
	mysql_close(&mysql);
	system("pause");
	return 0;
}

出力
コードの最適化:

#include<stdio.h>
#include<mysql.h>
#pragma comment(lib,"libmysql.lib")

int main()
{
    
    
	MYSQL mysql;
	mysql_init(&mysql);

	if (!mysql_real_connect(&mysql,
		"localhost", "root", "***", "db01", 3306, NULL, 0)) {
    
    
		printf("数据库 连接失败!");
		system("pause");
		return 0;
	}

	const char * sql = "select * from breakfast where spam=4";
	// 只进行查询,不存储数据
	if (mysql_real_query(&mysql, sql, 37)) {
    
    
		printf("查询期间出错!");
		system("pause");
		return 0;
	}

	MYSQL_RES *sr; // 结果集,记录查询结果
	MYSQL_ROW row;
	sr = mysql_store_result(&mysql);
	
	if (sr->row_count == 0) {
    
    
		printf("未查询到结果!\n");
	}

	while (row = mysql_fetch_row(sr)) {
    
    
		printf("%s\t", row[0]);
		printf("%s\t", row[1]);
		printf("%s\t", row[2]);
		printf("%s\t", row[3]);
		printf("%s\n", row[4]);
	}

	mysql_free_result(sr);
	mysql_close(&mysql);
	system("pause");
}

次へ:mysqlデータベースに接続するためのC言語(2つ)

おすすめ

転載: blog.csdn.net/qq_43341057/article/details/104885258