MySQL 插入中文及中文查询 (修改+调试)
2022-11-12 09:21:03
内容摘要
这篇文章主要为大家详细介绍了MySQL 插入中文及中文查询 (修改+调试),具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!//我修改之,能正常运
文章正文
这篇文章主要为大家详细介绍了MySQL 插入中文及中文查询 (修改+调试),具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
//我修改之,能正常运行,测试环境为mysql5.0,xp//关键是设置对字符集,设置gbk,gb2312测试通过,utf8测试未通过//在运行程序前先建立数据库jj,注意下面几个参数(修改为你自己的)代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | <code> // 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++ ) 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; } </code> |
注:关于MySQL 插入中文及中文查询 (修改+调试)的内容就先介绍到这里,更多相关文章的可以留意
代码注释