c 怎么连接mysql博客_C连接MySql数据库

我用的是dev-c++ 4.9.9.2 with

Mingw/GCC 3.4.2加C语言连接mySQL

如果使用的是msvc的编译器,那么使用的libmysql.lib是没问题的,但是如果使用的是mingw编译器,那就会出错,有undefined

reference....等类错误字样。这是因为mingw使用的库和msvc使用的不同格式的库而引起的。而mysql只提供了msvc可使用的库。mingw要想编译出qsqlmysql库来,我们先得编译出mingw需要的libmysql.a这个文件来,可以使用mingw工具来生成。

mingw-utils包里的reimp命令(如果没有这个命令的话,可从

然后运行:

cd c:\mysql\lib\opt //进入c:\mysql\lib\opt

c:\mysql\lib\opt> c:\dev-c++\mingw32\bin\reimp

-d libmysql.lib

此时在c:\mysql\lib\opt下生成了

libmysql.def文件

然后运行:

c:\mysql\lib\opt>

c:\dev-c++\mingw32\bin\dlltool -k -d libmysql.def -l

libmysql.a

一切ok!在 c:\mysql\lib\opt下生成了

libmysql.a文件

libmysql.lib文件就转换成了libmysql.a文件,就可以应用了

记得在"工程"-->"工程属性"-->"参数"里面,加入库或者对象,把你生成的libmysql.a添加进去,然后编译执行,就ok了!

下面是我从网上copy

的别人的代码,用上面的方法,加上下面这段代码就可以成功实现c连接mysql!代码如下:

#include

#include

#include

#include

int main( int argc, char * argv[]

)

{

char szTargetDSN[] = "test";

char szSqlText[500]="";

char aszFlds[ 25 ][ 25 ];

MYSQL * myData ;

MYSQL_RES * res ;

MYSQL_FIELD * fd ;

MYSQL_ROW row ;

int i,j,k;

BOOL bCreate = TRUE;

//初始化数据结构,连接数据库

if ( (myData = mysql_init((MYSQL*)

0))&& mysql_real_connect(myData, NULL,"root", "root",

szTargetDSN,MYSQL_PORT, NULL, 0 ) )

{

if(bCreate)

{

//构造SQL语句//新建一张表

sprintf(szSqlText, "create table mytable(time datetime, s1

char(6),s2 char(11), s3 int, s4 int)");

if (mysql_query( myData,

szSqlText))

//执行SQL语句

{//执行SQL语句出错

//ErrLog( "Can't create table") ;

mysql_close( myData ) ;

return FALSE ;

}

}

//向表中插入数据//注意时间的格式

sprintf(szSqlText,"insert into mytable values('2000-3-10

21:01:30','Test','MySQLTest',2000,3)");

if (mysql_query( myData,

szSqlText))

{//执行SQL语句出错

//ErrLog( "Can't insert data to table")

;

mysql_close( myData ) ;

return FALSE ;

}

sprintf(szSqlText, "select * from mytable

");

if (mysql_query( myData,

szSqlText))

//进行数据检索

{

//执行SQL语句出错

mysql_close( myData ) ;

return FALSE ;

}

else

{

res = mysql_store_result( myData )

;

//取得查询结果

i = (int) mysql_num_rows( res ) ;

//取得有效记录数

printf( "Query: %s\n%ld records found:\n",

szSqlText, i ) ;

for ( i = 0 ; fd = mysql_fetch_field( res );i++

)

strcpy( aszFlds[ i ], fd->name )

;

//取得各字段名

for (i=1; row = mysql_fetch_row( res );

)

//依次读取各条记录

{j = mysql_num_fields( res ) ;

//取得记录中的字段数

printf( "Record #%ld:-\n", i++ ) ;

for ( k = 0 ; k < j ; k++ )

//输出各字段的值

printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[

k ],(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k]))

;

puts( "==============================\n" )

;

}

mysql_free_result( res ) ;

}

}

else

{//连接数据库出错

//ErrLog( "Can't connect to the mysql server ") ;

mysql_close( myData ) ;

return FALSE ;

}

mysql_close( myData ) ;

return TRUE ;

}

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

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

相关文章

回溯法基本思想_LeetCode--回溯法心得

这两天在刷LeetCode37题解数独时&#xff0c;被这个回溯法折腾的不要不要的&#xff0c;于是我疼定思疼发誓一定要找个能解决这类回溯法的套路出来&#xff0c;方便以后快速解决此类题目。于是我在网上找了两个很经典的回溯法题目--八皇后问题和迷宫问题&#xff0c;认真总结了…

java入门从哪下手_java新手0基础如何最快速的入门

一口不吃了一个胖子&#xff0c;心急吃不了热豆腐。当你点开这篇文这句话送给你。零基础学Java只需办法适合&#xff0c;仍然有机遇进修好Java编程。初学Java就像交同伙从生疏到认识再到铁杆错误平生相伴&#xff0c;跟着进修的深刻&#xff0c;你会发明学Java并非设想的那样死…

汇编语言 把最大值放入max 把最小值放入min_Excel求最大值地球人都知道,那要求出第2、第3、第N大值呢?...

只要稍稍懂点excel的人&#xff0c;都会轻松地求出最大值、最小值。那要求出第2大值、第3大值……第N大值呢&#xff1f;往下看&#xff0c;掌握了方法&#xff0c;排序又变得很简单了。最大最小值最大值&#xff1a;max(B:B)&#xff0c;最小值&#xff1a;min(B:B)其中B:B为最…

php date( ymd_PHP-date(),time()函数的应用

本篇文章给大家分享的内容是PHP中date()和time()函数的应用&#xff0c;有需要的朋友可以参考一下1、求当前的时间戳(单位&#xff1a;秒)说明&#xff1a;time() 函数返回自 Unix 纪元(January 1 1970 00:00:00 GMT)起的当前时间的秒数语法&#xff1a;time()举个栗子&#xf…

猫咪藏在哪个房间python作业_python练习题之 猫2

classCat: def __init__(self): # 构造函数(属性有 姓名 年龄 颜色) self.nameNone self.ageNone self.colorNone def run(self): print("%s在跑步"%self.name) def crow(self): print("%s在叫"%self.name) def show(self): print("姓名:%s,年龄:%s,颜…

php传二维数组,JS用POST怎么传送二维数组给PHP

我先上Demo&#xff1a;test$(function(){var arr [];for (i 0; i < 10; i )arr[i] [];var k 0;for (i 0; i < 10; i)for (j 0; j < 10; j){arr[i][j] k;k;}$.post(post.php,{data : JSON.stringify(arr)},function(data) {document.write(data);});})$data $…

python3 for_python3 for循环-range遍历

for循环、range遍历 for循环range遍历 range&#xff08;1,10&#xff09; 注&#xff1a;是1-9&#xff0c;而不包括最后的10。实例&#xff1a; 九九乘法表&#xff1a; # -*- coding: UTF-8 -*- # 乘法表 for i in range(1,10): for j in range(1,10): print(‘{}*{}{}‘.fo…

php撒意思,php表示是什么意思

php表示超文本预处理器&#xff0c;它是一种通用的开源脚本语言。php是常用的网站编程语言&#xff0c;有着开源性、免费性、快捷性、数据库连接的广泛性、面向过程和面向对象并用等特点。php介绍&#xff1a;PHP即“超文本预处理器”&#xff0c;是一种通用开源脚本语言。PHP是…

python暂停和恢复_python-线程的暂停, 恢复, 退出

我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦start后, 线程就属于失控状态. 不过, 我们可以自己实现这些. 一般的方法就是循环地判断一个标志…

php调用md5.js,PHP和JS实现HTTP上安全地传输密码

1、理论在普通HTTP上&#xff0c;一般表单中的密码都是以明文方式传到服务器进行处理的。这无疑给了坏人以可乘之机!这里我们就说说怎么传输密码才是安全的!与其传输密码本身&#xff0c;到不如传输其加密后的形式。MD5是个不错的选择。第一&#xff0c;不同的资源几乎不可能生…

织梦直接写php标签,怎么在自己的php页面中使用dedecms标签

怎么在自己的php页面中使用dedecms标签&#xff1f;这篇文章主要介绍了在自己的php页面中使用dedecms标签的代码示例,需要的朋友可以参考下推荐学习&#xff1a;织梦cms第一步&#xff1a;外部php页面中加入如下代码&#xff1a;require_once (dirname(__FILE__)./../include/c…

xshell搭建宝塔没有远程命令密码框框弹出来_服务器安装宝塔控制面板+wordpress搭建个人网站...

准备工作服务器一台&#xff1a;服务器购买域名一个&#xff1a;随便买一个就行软件环境&#xff1a;宝塔面板第1步&#xff1a;SSH远程连接服务器通过ssh远程连接工具进行服务器主机连接&#xff08;Xshell、Putty等&#xff0c;百度下载&#xff09;需要更加详细的关于ssh远程…

python类有什么用_python 定制类 有什么用

展开全部 C.__init__(self[, arg1, ...]) 构造2113器(带一5261些可选的参数) C.__new__(self[, arg1, ...]) 构造器(带一些可选的参数);通常用在设置不变数4102据类型的子类。 C.__del__(self) 解构1653器 C.__str__(self) 可打印的字符输出;内建 str()及 print 语句 C.__repr_…

php列目录设置密码,PHP输入密码并列出目录文件生成超链接代码

一个可以加密文件夹&#xff0c;并且可以展示文件夹内文件的php代码&#xff1a;$password "123456"; // 这里是密码$p "";if(isset($_COOKIE["isview"]) and $_COOKIE["isview"] $password){$isview true;}else{if(isset($_POST[…

python获得当前目录_python如何获取当前工程根目录

假设工程根目录为 d:/Project/ 然后在 d:/Project/a/b/c/d/file.py 里使用 os.getcwd() 方法获取的是 d:/Project/a/b/c/d 现在我想获取 d:/Project 怎么做? ------------------------------------分割线--------------------------------- 谢谢大家的热情回答,都怪我没有将问…

php8vsgo,vscode编辑好go语言代码要怎么运行

vscode运行go语言代码需要安装vscode-go插件。然后使用F5(continue)、F10(step over)、F11(step into)等快捷键运行go语言代码。安装vscode-go 插件进入vscode界面,打开命令面板Ctrl Shift P,输入install,插件特性包括:Completion Lists (using gocode)Signature Help (using…

python的网页解析器_Python网页解析器使用实例详解

python 网页解析器 1、常见的python网页解析工具有&#xff1a;re正则匹配、python自带的html.parser模块、第三方库BeautifulSoup(重点学习)以及lxm库。2、常见网页解析器分类 &#xff08;1&#xff09;模糊匹配 &#xff1a;re正则表达式即为字符串式的模糊匹配模式&#xf…

php 跨域web访问权限,php:跨域 Web程序 - 贪吃蛇学院-专业IT技术平台

一个没那么难的历史难题&#xff0c;其实只要在被请求端&#xff0c;加一句&#xff1a; header(‘Access-Control-Allow-Origin: *‘);然后……然后没有了。//跨域访问的时候才会存在此字段$origin isset($_SERVER[‘HTTP_ORIGIN‘])? $_SERVER[‘HTTP_ORIGIN‘] : ‘‘;$al…

python送心小人_使用Python画出小人发射爱心的代码

我就废话不多说了&#xff0c;直接上代码吧&#xff01; #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) down() def head(x,y,r): go_to(x,y) speed(1) circle(r) leg(x,y) def leg(x,y): right(90) forward(180) right(30) forward(10…

html php滚动代码,html中滚动条的代码是什么?如何设置html滚动条?

本篇文章主要介绍了关于html中的滚动条的代码&#xff0c;还有关于html 滚动条代码marquee标签属性的用法&#xff0c;具体的让我们一起来看这篇文章吧首先我们介绍html中的滚动条代码&#xff1a;今天我们介绍这个html滚动条标签是marquee.标签&#xff0c;它是成对出现的标签…