MYSQL数据库Mysql 插入中文及中文查询 (修改+调试)
发布时间:2020-12-12 03:00:48 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL数据库Mysql 插入中文及中文查询 (修改+调试)》要点: 本文介绍了MYSQL数据库Mysql 插入中文及中文查询 (修改+调试),希望对您有用。如果有疑问,可以联系我们。 //我修改之,能正常运行,测试环境为mysql5.0,xp //关键是设置对字符集,设置gbk,gb2312测
《MYSQL数据库Mysql 插入中文及中文查询 (修改+调试)》要点: //关键是设置对字符集,设置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学院为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |