mysql和c怎么连接 c语言如何和mysql数据库连接

c语言怎么连接mysql数据库 代码

//vc工具中添加E:\WAMP\BIN\MYSQL\MYSQL5.5.8\LIB 路径

创新互联建站是一家专注于网站设计制作、网站建设与策划设计,振安网站建设哪家好?创新互联建站做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:振安等地区。振安做网站价格咨询:18980820575

//在工程设置-》链接》库模块中添加 libmysql.lib

#include stdio.h

#include time.h

#include string.h

#include winsock.h

#include "E:\wamp\bin\mysql\mysql5.5.8\include\mysql.h"

void main(){

MYSQL *conn;

MYSQL_RES *res;

MYSQL_ROW row;

char *server ="localhost";

char *user ="root";

char *password="";

char *database="test";

char sql[1024]="select * from chinaren";

conn=mysql_init(NULL);

if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0)){

fprintf(stderr,"%s\n",mysql_error(conn));

exit(1);

}

if(mysql_query(conn,sql)){

fprintf(stderr,"%s\n",mysql_error(conn));

exit(1);

}

res=mysql_use_result(conn);

while((row = mysql_fetch_row(res))!=NULL){

printf("%s\n",row[2]);

}

mysql_free_result(res);

mysql_close(conn);

}

===============================

#if defined(_WIN32) || defined(_WIN64) //为了支持windows平台上的编译

#include windows.h

#endif

#include stdio.h

#include stdlib.h

#include "mysql.h"

//定义数据库操作的宏,也可以不定义留着后面直接写进代码

#define SELECT_QUERY "show tables;"

int main(int argc, char **argv) //char **argv 相当于 char *argv[]

{

MYSQL mysql,*handle; //定义数据库连接的句柄,它被用于几乎所有的MySQL函数

MYSQL_RES *result; //查询结果集,结构类型

MYSQL_FIELD *field ; //包含字段信息的结构

MYSQL_ROW row ; //存放一行查询结果的字符串数组

char querysql[160]; //存放查询sql语句字符串

//初始化

mysql_init(mysql);

//连接数据库

if (!(handle = mysql_real_connect(mysql,"localhost","user","pwd","dbname",0,NULL,0))) {

fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(mysql));

}

sprintf(querysql,SELECT_QUERY,atoi(argv[1]));

//查询数据库

if(mysql_query(handle,querysql)) {

fprintf(stderr,"Query failed (%s)\n",mysql_error(handle));

}

//存储结果集

if (!(result=mysql_store_result(handle))) {

fprintf(stderr,"Couldn't get result from %s\n", mysql_error(handle));

}

printf("number of fields returned: %d\n",mysql_num_fields(result));

//读取结果集的内容

while (row = mysql_fetch_row(result)) {

printf("table: %s\n",(((row[0]==NULL)(!strlen(row[0]))) ? "NULL" : row[0]) ) ;

}

//释放结果集

mysql_free_result(result);

//关闭数据库连接

mysql_close(handle);

system("PAUSE");

//为了兼容大部分的编译器加入此行

return 0;

}

mysql与c语言连接,代码求解释。

if (!mysql_real_connect(mysql,"localhost", "root", "", "drug management", 3306, NULL, 0)) //判断数据库连接是否成功

if(t) //t是mysql_real_query的返值,使用if来判断sql语句执行是否成功。

c语言怎么把链表数据写进mysql

方法如下:

1.头文件:

#include

#include

#include//这个是必需要包含的,下面对mysql的所有操作函数,都出自这里

2.定义一个MYSQL变量:

MYSQLmysql;

这里MYSQL是一个用于连接MySql数据库的变量。

在后面对mysql数据库的操作中,我们就用这个MYSQL变量作为句柄的。

3.定义数据库参数:

charhost[32]=”localhost”;

charuser[32]=”username”;

charpasswd[32]=”pwd”;

chardbname[32]=”testdb”;

4.数据库操作

1).初始化数据库:

mysql_init(mysql);

2).连接数据库:

mysql_real_connect(mysql,host,user,passwd,dbname,0,NULL,0);

我们在操作时,可以对以上的函数进行if测试,如果初始化或者连接出错,作出相应提示,以便调试。

5.对数据库的操作:

Mysql_query(mysql,“select*fromtestdbwherecondition”);

我们在实际操作中,为了更方便的使用程序中的某些变量,我们将会用到一个函数:

intsprintf(char*str,constchar*format,?);

这个函数用来格式化我们的字符串,然后将变量按照给你的格式,赋给第一个参数。

我们使用这个方法方法可以很方便的使用我们的变量来对数据库进行操作。例如我们将要进行数据库的查询操作,我们就可以这样使用:

sprintf(sql,”select*fromtestdbwhereusername=‘%s’”,u_name);

然后使用mysql_query(mysql,sql)进行查询。

MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。

如何用C语言连接MYSQL数据库

1、配置ODBC数据源。

2、使用SQL函数进行连接。

对于1、配置数据源,配置完以后就可以编程操作数据库了。

对于2、使用SQL函数进行连接,参考代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

#includewindows.h

#includesql.h

#includesqlext.h

void

main()

{

HENV

henv;

//环境句柄

HDBC

hdbc;

//数据源句柄

HSTMT

hstmt;

//执行语句句柄

unsigned

char

datasource[]="数据源名称";

//即源中设置的源名称

unsigned

char

user[]=

"用户名";

//数据库的帐户名

unsigned

char

pwd[]=

"密码";

//数据库的密码

unsigned

char

search[]="select

xm

from

stu

where

xh=0";

SQLRETURN

retcode;

//记录各SQL函数的返回情况

//

分配环境句柄

retcode=

SQLAllocEnv(henv);

//

等介于

SQLAllocHandle(SQL_HANDLE_ENV,

SQL_NULL

,

henv);

//

设置ODBC环境版本号为3.0

retcode=

SQLSetEnvAttr(henv,

SQL_ATTR_ODBC_VERSION,

(void*)SQL_OV_ODBC3,

0);

//

分配连接句柄

retcode=

SQLAllocConnect(henv,hdbc);

//

等介于

SQLAllocHandle(SQL_HANDLE_DBC,

henv,

hdbc);

//设置连接属性,登录超时为*rgbValue秒(可以没有)

//

SQLSetConnectAttr(hdbc,

SQL_LOGIN_TIMEOUT,

(SQLPOINTER)(rgbValue),

0);

//直接连接数据源

//

如果是windows身份验证,第二、三参数可以是


当前文章:mysql和c怎么连接 c语言如何和mysql数据库连接
本文链接:http://scyanting.com/article/doddhjj.html