用C语言怎么实现与数据库的连接

用C语言怎么实现与数据库的连接,第1张

#include<mysql/mysql.h>

#include<stdio.h>

intmain()

{

MYSQL*conn

MYSQL_RES*res

MYSQL_ROWrow

char*server="localhost"//本地连接

char*user="root"//

char*password="525215980"//mysql密码

char*database="student"//数据库

char*query="select*fromclass"//需要查询的语句

intt,r

conn=mysql_init(NULL)

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

{

printf("Errorconnectingtodatabase:%s\n",mysql_error(conn))

}else{

printf("Connected...\n")

}

t=mysql_query(conn,query)

if(t)

{

printf("Errormakingquery:%s\n",mysql_error(conn))

}else{

printf("Querymade...\n")

res=mysql_use_result(conn)

if(res)

{

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

{

//printf("num=%d\n",mysql_num_fields(res))//列数

for(t=0t<mysql_num_fields(res)t++)

printf("%8s",row[t])

printf("\n")

}

}

mysql_free_result(res)

}

mysql_close(conn)

return0

}

扩展资料

C语言使用注意事项:

1、指针是c语言的灵魂,一定要灵活的使用它:

(1)、指针的声明,创建,赋值,销毁等

(2)、指针的类型转换,传参,回调等

2、递归调用也会经常用到:

(1)、递归遍历树结构

(2)、递归搜索

先明确你的问题。数据源是数据库还是文件,导入是指读取到内存,还是写入另一个数据库或文件中。

数据库种类很多,需要写对应的连接代码或使用现成接口。

文件读写,使用fopen获取文件流(根据读写需求传参)。之后使用fscanf和fprintf函数读取到变量中或写入文件中(注意定位文件流指针,用fseek)。

#include <stdio.h>#include <stdlib.h>#include <string.h>#include "util.h"#include <sqlca.h>``EXEC SQL INCLUDE SQLCAmain(){EXEC SQL BEGIN DECLARE SECTIONchar firstname[13]char userid[9]char passwd[19]EXEC SQL END DECLARE SECTIONEXEC SQL CONNECT TO sampleEXEC SQL SELECT FIRSTNME INTO :firstnameFROM employeeWHERE LASTNAME = 'JOHNSON'printf( "First name = %s\n", firstname )EXEC SQL CONNECT RESETreturn 0}上面是一个简单的静态嵌入SQL语句的应用程序。它包括了嵌入SQL的主要部分:(1)中的include SQLCA语句定义并描述了SQLCA的结构。SQLCA用于应用程序和数据库之间的通讯,其中的SQLCODE返回SQL语句执行后的结果状态。(2)在BEGIN DECLARE SECTION和END DECLARE SECTION之间定义了宿主变量。宿主变量可被SQL语句引用,也可以被C语言语句引用。它用于将程序中的数据通过SQL语句传给数据库管理器,或从数据库管理器接收查询的结果。在SQL语句中,主变量前均有“:”标志以示区别。(3)在每次访问数据库之前必须做CONNECT *** 作,以连接到某一个数据库上。这时,应该保证数据库实例已经启动。(4)是一条选择语句。它将表employee中的LASTNAME为“JOHNSON”的行数据的FIRSTNAME查出,并将它放在firstname变量中。该语句返回一个结果。可以通过游标返回多个结果。当然,也可以包含update、insert和delete语句。(5)最后断开数据库的连接。从上例看出,每条嵌入式SQL语句都用EXEC SQL开始,表明它是一条SQL语句。这也是告诉预编译器在EXEC SQL和“;”之间是嵌入SQL语句。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6809470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存