广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

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

    2018-05-16 07:54:26 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    //我修改之,能正常运行,测试环境为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++ )
    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;
    }

    我机器上的运行结果:

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告