-
MySQL教程之在vc下操作MYSQL中文数据的参考程序
在vc下操作MYSQL中文数据的参考程序
#include <windows.h>
#include <iostream>
#include <mysql.h>
#include <stdio.h>
#include <string.h>
using namespace std;
int connDB();
int create_table();
int insert_table();
int select_table();
int disconnDB();
MYSQL *mysql;
MYSQL_RES *res;
MYSQL_FIELD * fd;
MYSQL_ROW row;
char szSqlText[500]="";
int i;
int main()
{
connDB();
// create_table();
insert_table();
select_table();
disconnDB();
return 0;
}
///////////////子函数
int connDB()//连接数据库
{
char *host = "localhost";
char *user = "root";
char *pass = "123";
char *db = "jj";
mysql = mysql_init((MYSQL*) 0);
mysql_real_connect( mysql, host, user, pass, db, 0, NULL, 0 ) ;
mysql_set_character_set(mysql,"gb2312");
cout<<"conn OK!"<<endl;
return 0;
}
int disconnDB()//关闭数据库
{
mysql_close( mysql ) ;
cout<<"disconn OK!"<<endl;
return 0 ;
}
int create_table()
{
mysql_set_character_set(mysql,"gb2312");
sprintf(szSqlText, //构造SQL语句
"create table mytable"
//新建一张表
"(s0 varchar(100), s1 char(6), "
"s2 varchar(4), s3 varchar(6), s4 int)");
mysql_query( mysql, szSqlText);
cout<<"create OK!"<<endl;
return 0;
}
int insert_table()
{
string s1="insert into mytable values('";
//向表中插入数据
string s2="2000-3-10 21:01:30";
//注意时间的格式
string ss="','";
string s3="Test";
string s4="可进口的";
string s5="可124";
string s6="',";
sprintf(s6,"%d",2500);
string s;
s=s1+s2+ss+s3+ss+s4+ss+;
mysql_set_character_set(mysql,"gb2312");
sprintf(szSqlText,"s%",s);
/*
sprintf(szSqlText,
"insert into mytable "
//向表中插入数据
"values('2000-3-10 21:01:30',"
//注意时间的格式
"'Test','可进口的','可进口',2500)");
*/
if(!mysql_query( mysql, szSqlText))
cout<<"insert OK!"<<endl;
return 0;
}
int select_table()
{
mysql_set_character_set(mysql,"gb2312");
sprintf(szSqlText, "select * from mytable ");
if (mysql_query( mysql, szSqlText))
//进行数据检索
{
//执行SQL语句出错
mysql_close( mysql ) ;
return FALSE ;
}
res = mysql_store_result( mysql) ;
//取得查询结果
i = (int) mysql_num_rows( res ) ;
//取得有效记录数
cout<<"Query: "<<szSqlText<<"\n"<<i<<" records found:"<<endl;
for ( i = 0 ; fd = mysql_fetch_field( res ) ; i++ )
cout<<fd->name<<"\t";
cout<<endl;
//输出各字段名
while(row = mysql_fetch_row( res ))
//依次读取各条记录
cout<<row[0]<<"\t"<<row[1]<<"\t"<<row[2]<<"\t"<<row[3]<<"\t"<<row[4]<<endl;
mysql_free_result( res ) ;
cout<<"select OK!"<<endl;
return 0;
}
(调试此Demo需要将目录里的mydb子目录拷到MySQL安装目录的data子目录下(我的是:D:\Program Files\MySQL\MySQL Server 5.0\data)
摘要:本文详细阐述了如何进行MySQL的安装、调试,以及如何用VC进行编译,实现数据的“添加、修改、删除”等功能。
#include <windows.h>
#include <iostream>
#include <mysql.h>
#include <stdio.h>
#include <string.h>
using namespace std;
int connDB();
int create_table();
int insert_table();
int select_table();
int disconnDB();
MYSQL *mysql;
MYSQL_RES *res;
MYSQL_FIELD * fd;
MYSQL_ROW row;
char szSqlText[500]="";
int i;
int main()
{
connDB();
// create_table();
insert_table();
select_table();
disconnDB();
return 0;
}
///////////////子函数
int connDB()//连接数据库
{
char *host = "localhost";
char *user = "root";
char *pass = "123";
char *db = "jj";
mysql = mysql_init((MYSQL*) 0);
mysql_real_connect( mysql, host, user, pass, db, 0, NULL, 0 ) ;
mysql_set_character_set(mysql,"gb2312");
cout<<"conn OK!"<<endl;
return 0;
}
int disconnDB()//关闭数据库
{
mysql_close( mysql ) ;
cout<<"disconn OK!"<<endl;
return 0 ;
}
int create_table()
{
mysql_set_character_set(mysql,"gb2312");
sprintf(szSqlText, //构造SQL语句
"create table mytable"
//新建一张表
"(s0 varchar(100), s1 char(6), "
"s2 varchar(4), s3 varchar(6), s4 int)");
mysql_query( mysql, szSqlText);
cout<<"create OK!"<<endl;
return 0;
}
int insert_table()
{
string s1="insert into mytable values('";
//向表中插入数据
string s2="2000-3-10 21:01:30";
//注意时间的格式
string ss="','";
string s3="Test";
string s4="可进口的";
string s5="可124";
string s6="',";
sprintf(s6,"%d",2500);
string s;
s=s1+s2+ss+s3+ss+s4+ss+;
mysql_set_character_set(mysql,"gb2312");
sprintf(szSqlText,"s%",s);
/*
sprintf(szSqlText,
"insert into mytable "
//向表中插入数据
"values('2000-3-10 21:01:30',"
//注意时间的格式
"'Test','可进口的','可进口',2500)");
*/
if(!mysql_query( mysql, szSqlText))
cout<<"insert OK!"<<endl;
return 0;
}
int select_table()
{
mysql_set_character_set(mysql,"gb2312");
sprintf(szSqlText, "select * from mytable ");
if (mysql_query( mysql, szSqlText))
//进行数据检索
{
//执行SQL语句出错
mysql_close( mysql ) ;
return FALSE ;
}
res = mysql_store_result( mysql) ;
//取得查询结果
i = (int) mysql_num_rows( res ) ;
//取得有效记录数
cout<<"Query: "<<szSqlText<<"\n"<<i<<" records found:"<<endl;
for ( i = 0 ; fd = mysql_fetch_field( res ) ; i++ )
cout<<fd->name<<"\t";
cout<<endl;
//输出各字段名
while(row = mysql_fetch_row( res ))
//依次读取各条记录
cout<<row[0]<<"\t"<<row[1]<<"\t"<<row[2]<<"\t"<<row[3]<<"\t"<<row[4]<<endl;
mysql_free_result( res ) ;
cout<<"select OK!"<<endl;
return 0;
}
(调试此Demo需要将目录里的mydb子目录拷到MySQL安装目录的data子目录下(我的是:D:\Program Files\MySQL\MySQL Server 5.0\data)
摘要:本文详细阐述了如何进行MySQL的安装、调试,以及如何用VC进行编译,实现数据的“添加、修改、删除”等功能。
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式