VC6.0与mysql交互的小例子(非引用MFC库)

本文提供了一篇关于如何在VC6.0环境下与MySQL数据库交互的详细指南,包括安装配置、连接数据库、执行SQL语句、创建表、插入数据及数据检索等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近才开始接触VC6.0的环境,而且还要和mysql交互.在网上搜了很多资料,太杂而且大部分是调用MFC库实现的.不是我所希望的用C库实现的.终于在网上找到了一个很好入门的例子.在这里和大家分享一下.
提示:安装mysql的时候要选择完全安装(complete),然后就会有mysql的包含文件和lib库文件,在project菜单中添加libmysql.lib,tools菜单下的link中添加包含头文件和库文件的路径.
#include <windows.h>

#include <stdio.h>

#include <string.h>

#include <mysql.h>

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;
	//初始化数据结构
	//连接数据库
	mysql_init(&myData);
	if (mysql_real_connect( &myData, "localhost","root", "envenler",szTargetDSN,3306, NULL, 0 ))
	{
	//构造SQL语句//新建一张表
	if(bCreate)
	{ 
		sprintf(szSqlText, "create table mytable (time datetime, s1 char(6),s2 char(11), s3 int, s4 int)");
		//执行SQL语句
		//执行SQL语句出错
		//ErrLog( "Can't create table") ;
		if (mysql_query( &myData, szSqlText))
		{
			mysql_close( &myData ) ;
			return FALSE ;
		}
	}
	//向表中插入数据//注意时间的格式
	sprintf(szSqlText,"insert into mytable values('2012-7-27 21:01:30','Test','MySQLTest',2012,7)");

	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 ) ;

		//取得各字段名

		while (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 , 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 ;

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值