mysql connector c编程_MySQL数据库之MySQL Connector 编程

本文主要向大家介绍了MySQL数据库之MySQL Connector 编程 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

MySQL Connector 是MySQL数据库客户端编程的接口, 它提供了通过网络访问数据库的接口, 这些功能在动态链接库(.dll, .so)或者静态对象库(.lib, .a)中实现.

使用时必须注意这些库是32位还是64位的.

下面是一个例子:

#include 

#include 

#include 

// 使用静态对象库

//#pragma comment(lib, "C:\\Program Files\\MySQL\\MySQL Connector C 6.1\\lib\\vs12\\mysqlclient.lib")

// 使用动态链接库

// 确保 libmysql.dll 在系统路径中可以搜到

#pragma comment(lib, "C:\\Program Files\\MySQL\\MySQL Connector C 6.1\\lib\\libmysql.lib")

void simpleUsega()

{

MYSQL *conn;

conn = mysql_init(NULL);

if (conn == NULL) {

printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));

exit(1);

}

if (mysql_real_connect(conn, "localhost", "user_name",

"user_password", NULL, 0, NULL, 0) == NULL) {

printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));

exit(1);

}

if (mysql_query(conn, "create database frist_db")) {

printf("Error %u: %s\n", mysql_errno(conn), mysql_error(conn));

exit(1);

}

mysql_close(conn);

}

int main() {

MYSQL *mysql = NULL;

char pwd[1024];

char usr[1024];

printf("Target platform word length : %d \n", sizeof(void*) );

printf("Connector version: %s \n", mysql_get_client_info());

//simpleUsage();

//return 0;

printf("Initializing MySQL Connector... \n");

mysql_library_init(0, NULL, NULL); // 在其他work线程产生之前初始化mysql c库, 不要让mysql_init来调用, 否则可能导致线程安全问题

if (!(mysql = mysql_init(NULL))) {

printf("Field. \n");

goto end;

}

printf("OK, Conecting... \n");

// 配置用户和密码

if (0) {

printf("Please keyin user_name and password \n"

"name: ");

scanf_s("%s", usr, 1024);

printf("pwd : ");

scanf_s("%s", pwd, 1024);

} else {

sprintf_s(usr, 1024, "default_user_name");

sprintf_s(pwd, 1024, "default_user_password");

}

// 连接 localhost 上的服务器

if (!mysql_real_connect(mysql, "localhost", usr, pwd, (const char*) 0, 3306, NULL, 0)) {

printf("Filed, Error %u, %s \n", mysql_errno(mysql), mysql_error(mysql) );

goto end;

}

printf("Login succeed. \n");

// 销毁密码

sprintf_s(pwd, 1024, "00000000000000");

// 查询数据库服务器时间

mysql_query(mysql, "SELECT NOW();");

if (!mysql_errno(mysql)) {

MYSQL_RES *result;

MYSQL_ROW row;

int num_fields;

int i;

result = mysql_store_result(mysql);

num_fields = mysql_num_fields(result);

while ((row = mysql_fetch_row(result)))

{

for(i = 0; i 

{

printf("%s ", row[i] ? row[i] : "NULL");

}

printf("\n");

}

mysql_free_result(result);

}

end:

system("pause");

mysql_close(mysql);

mysql_library_end();

return 0;

}

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF任务栏同步进度

一、概要本篇文章主要分享使用TaskbarItemInfo对象(WPF)在window操作系统的任务栏中同步任务进度的功能。什么是TaskbarItemInfo对象?TaskbarItemInfo类为 Windows 7 任务栏功能提供托管包装。有关 Windows shell 和本机任务栏 Api 的详细信息…

每日一笑 | 各大互联网公司离职员工群名

全世界只有3.14 % 的人关注了数据与算法之美(图源网络,侵权删)

优秀的培训机构该如何培养学生?

作为一个优秀的培训机构来讲,培训的关键是提升学生的学习思想、养成良好学习习惯,培养学生较强的自学能力,否则讲再多的知识都还是少! 老男孩培训多年来正是在履行着这样的教学理念和思路。 动物园的动物,如果不…

mysql快照过久_Oracle 快照(snapshot) 管理

----手工创建Oracle 快照 BEGIN DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (); END; / ---删除快照 具体快照信息可以查看视图 D----手工创建Oracle 快照BEGINDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();END;/---删除快照具体快照信息可以查看视图 DBA_HIST_SNAPSHOTBEGIND…

WPF 左侧菜单样式

之前做了一个菜单样式&#xff0c;这样的&#xff1a;链接&#xff1a;WPF 修改(优化)Menu菜单的样式如今又来一个左侧菜单样式&#xff0c;其实只是修改了一下模板&#xff0c;如下图&#xff1a;还是老样子&#xff0c;代码全部都在MainWindow.xaml中&#xff1a;<Window …

STEAM教育风口正劲,如何培养STEAM思维?

近年来&#xff0c;STEAM教育越来越深入我们的生活&#xff0c;但STEAM教育到底是什么呢&#xff1f;来源于美国的“STEAM教育”是将五大学科——科学&#xff08;Science&#xff09;、技术&#xff08;Technology&#xff09;、工程&#xff08;Engineering&#xff09;、艺术…

【Android开发】Android应用程序目录结构

原文&#xff1a;http://android.eoe.cn/topic/summary Android开发之旅&#xff1a;组件生命周期吴秦 Android开发之旅&#xff1a;HelloWorld项目的目录结构 * HelloWorld项目的目录结构* &#xff08;这个HelloWorld项目是基于Android 2.1的&#xff09;在Eclipse的左侧展开…

vue从url中获取token并加入到 请求头里_BATJ都会用到的接口鉴权cookie、session 和token...

鉴权鉴权是指验证用户是否拥有访问系统的权利—鉴定权限。cookie、session和token为什么会有cookie、session和token&#xff1f;1、 http是无状态协议什么是无状态呢&#xff1f;答&#xff1a;当前请求和上一次或者下一次请求是没有任何关系的&#xff0c;好处是速度快&#…

程序有并发错误?NO WAY!

什么是并发错误并发是指程序能够交替执行不同的任务,以达到"同时执行效果"&#xff0c;加快程序的运行效率。但是并发也会导致一系列问题&#xff0c;以变量1赋值为例&#xff0c;由于操作实际由多条指令组成&#xff0c;不同任务执行指令的顺序可能是交错的&#xf…

好好珍惜今生,不要期待来世……

亲情经不起冷漠&#xff0c;爱情经不起谎言&#xff0c;友情经不起虚伪。再好的缘份也经不起敷衍&#xff0c;再深的感情也需要珍惜。没有绝对的傻瓜&#xff0c;只有愿为你装傻的人&#xff0c;原谅你的人&#xff0c;是不愿失去你的世界。一辈子真的好短好短…… 有多少人说好…

NET问答: C# 中是否有 format json 的类库?

咨询区 mpen&#xff1a;我在寻找一个 function&#xff0c;它能够接收 string 格式的json&#xff0c;并且能够以 换行缩进 的形式输出&#xff0c;比如&#xff1a;{"status":"OK", "results":[ {"types":[ "locality", &…

图像柔光效果(SoftGlow)的原理及其实现。

图像柔光效果在很多商业软件中都有实现&#xff0c;比如美图秀秀&#xff0c;光影魔术手等。其能针对原始图像产生一副新的比较平滑感觉光线比较柔和的效果&#xff0c;给人一种朦胧美&#xff0c;如下面几幅图所示&#xff1a; 目前&#xff0c;关于该算法的可控参数&#xff…

中小学招生强化就近入学;首次全女性太空行走取消;苹果付费新闻APP奔溃;NASA火星上发现鹅卵石;这就是今天的大新闻...

今天是3月27日农历二月廿一今天星期三有点闷已经开始用空调了下面是今天的大新闻中小学招生强化就近入学&#xff08;北京商报&#xff09;中小学秋季入学新生招生已经陆续开始&#xff0c;近日&#xff0c;教育部办公厅也紧随其后&#xff0c;印发了《关于做好2019年普通中小学…

python如何安装扩展库openpyxl和numpy_Python第三方库之openpyxl(2)

Python第三方库之openpyxl(2)简单的使用写一个工作簿>>> from openpyxl importWorkbook>>> from openpyxl.compat importrange>>> from openpyxl.utils importget_column_letter>>>>>> wb Workbook()>>>>>> de…

[翻译]在GC上加入DPAD

本文90%通过机器翻译&#xff0c;另外10%译者按照自己的理解进行翻译&#xff0c;和原文相比有所删减&#xff0c;可能与原文并不是一一对应&#xff0c;但是意思基本一致。译者水平有限&#xff0c;如果错漏欢迎批评指正译者Bing Translator、InCerry&#xff0c;另外感谢Hex、…

SQL 结合CASE WHEN 实现二维统计

在开发中往往要用到类似下面的二维统计&#xff1a; abtype15465type25454在SQL中使用CASE WHEN 语句可以很轻松的实现&#xff1a; SELECT SUM(CASE WHEN typetype1 THEN 1 ELSE 0 END) AS a ,SUM(CASE WHEN typetype2 THEN 1 ELSE 0 END) AS b FROM Table1 转载于:https://ww…

phpfind mysql怎么用_MySQL 的 find_in_set 函数使用方法

举个例子来说&#xff1a;有个文章表里面有个type字段&#xff0c;它存储的是文章类型&#xff0c;有 1头条、2推荐、3热点、4图文...1,12,13 等等 。现在有篇文章他既是 头条&#xff0c;又是热点&#xff0c;还是图文&#xff0c;type中以 1,3,4 的格式存储。那我们如何用sql…

美国Thinkfun的“编程三剑客”少儿编程从入门到精通

▲数据汪特别推荐点击上图进入玩酷屋学编程现在有多火&#xff0c;小木就不多说啦&#xff01;很多爸爸妈妈都想让小朋友早点接触编程&#xff0c;掌握这门未来世界的通用“语言”&#xff0c;但又怕太早使用电脑、iPad等电子产品&#xff0c;影响孩子视力。今天给大家推荐一套…

解决scrollViewDidScroll do not work的方法

2019独角兽企业重金招聘Python工程师标准>>> 别忘记在在包含了scrollView的ViewController中的viewDidload方法中设置scrollView的delegate [self.scrollView setDelegate:self]; 关于delegate&#xff1a;一般一个ui的delegate都在其父类中指定 view.delegateself…

基于ABP落地领域驱动设计-05.实体创建和更新最佳实践

围绕DDD和ABP Framework两个核心技术&#xff0c;后面还会陆续发布核心构件实现、综合案例实现系列文章&#xff0c;敬请关注&#xff01; ABP Framework 研习社&#xff08;QQ群&#xff1a;726299208&#xff09; ABP Framework 学习及实施DDD经验分享&#xff1b;示例源码、…