Mysql 插入中文及中文查询 (修改+调试)

落葵下午茶

落葵下午茶

2016-02-19 09:44

下面图老师小编要向大家介绍下Mysql 插入中文及中文查询 (修改+调试),看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!
//我修改之,能正常运行,测试环境为mysql5.0,xp
//关键是设置对字符集,设置gbk,gb2312测试通过,utf8测试未通过
//在运行程序前先建立数据库jj,注意下面几个参数(修改为你自己的)
代码如下:

// char *host = "localhost";
// char *user = "root";
// char *pass = "674800";
// char *db = "jj";
#include windows.h
#include iostream
#include mysql.h
#include stdio.h
#include string.h
using namespace std;
#pragma comment(lib,"libmysql.lib")
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 = "674800";
char *db = "jj";
mysql = mysql_init((MYSQL*) 0);
mysql_real_connect( mysql, host, user, pass, db,3306, 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,
"create table mytable
(s0 varchar(100),
s1 char(6),
s2 varchar(4),
s3 varchar(3),s4 int)
ENGINE=InnoDB
DEFAULT CHARSET=gb2312");
if(mysql_query( mysql, szSqlText))
cout"occurred an error:"mysql_error(mysql)endl;
return 0;
}
int insert_table()
{
mysql_set_character_set(mysql,"gb2312");
sprintf(szSqlText,
"insert into mytable
values('2000-3-10 21:01:30',
'Test',
'清风寒剑',
'岁月情',
2500)");
if( mysql_query( mysql, szSqlText) )
cout"occurred an error:"mysql_error(mysql)endl;
return 0;
}
int select_table()
{
mysql_set_character_set(mysql,"gb2312");
sprintf(szSqlText, "select * from mytable ");
if (mysql_query( mysql, szSqlText))
{
cout"occurred an error:"mysql_error(mysql)endl;
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++ )
coutfd-name"t";
coutendl;
while(row = mysql_fetch_row( res ))
coutrow[0]"t"row[1]"t"row[2]"t"row[3]"t"row[4]endl;
mysql_free_result( res ) ;
cout"select OK!"endl;
return 0;
}

我机器上的运行结果:

展开更多 50%)
分享

猜你喜欢

Mysql 插入中文及中文查询 (修改+调试)

编程语言 网络编程
Mysql 插入中文及中文查询 (修改+调试)

MySQL中文参考手册-- 输入查询

编程语言 网络编程
MySQL中文参考手册-- 输入查询

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

解决mysql不能插入中文Incorrect string value

编程语言 网络编程
解决mysql不能插入中文Incorrect string value

MySQL中文参考手册-- 常用查询的例子

编程语言 网络编程
MySQL中文参考手册-- 常用查询的例子

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

mysql中文查询时的字符集匹配问题

编程语言 网络编程
mysql中文查询时的字符集匹配问题

JSP+MySQL 无法插入中文问题(Data too long ...)

Web开发
JSP+MySQL 无法插入中文问题(Data too long ...)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Android动态添加View的问题解决方法

Android动态添加View的问题解决方法

IE6中ajax aborted错误请求中断解决方法

IE6中ajax aborted错误请求中断解决方法
下拉加载更多内容 ↓