加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MYSQL数据库Mysql 插入中文及中文查询 (修改+调试)

发布时间:2020-12-12 03:00:48 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL数据库Mysql 插入中文及中文查询 (修改+调试)》要点: 本文介绍了MYSQL数据库Mysql 插入中文及中文查询 (修改+调试),希望对您有用。如果有疑问,可以联系我们。 //我修改之,能正常运行,测试环境为mysql5.0,xp //关键是设置对字符集,设置gbk,gb2312测

《MYSQL数据库Mysql 插入中文及中文查询 (修改+调试)》要点:
本文介绍了MYSQL数据库Mysql 插入中文及中文查询 (修改+调试),希望对您有用。如果有疑问,可以联系我们。

//我修改之,能正常运行,测试环境为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,
"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,"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++ )
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;
}

我机器上的运行成果:


欢迎参与《MYSQL数据库Mysql 插入中文及中文查询 (修改+调试)》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读