MYSQL mysql;
    mysql_init(&mysql);
    if(!mysql_real_connect(&mysql, "127.0.0.1","root","root","mydb",3306,NULL,0))
    {
        MessageBox("数据库连接失败");
        return;
    }    mysql_query(&mysql,"SET NAMES 'GBK'");//加上这句设置一下字符集就不会变问号    char *ch_query;
    ch_query="select user_id,user_name,user_barcode from user_list";     //SQL语句
    if(mysql_real_query(&mysql,ch_query,(UINT)strlen(ch_query))!=0)//查询成功返回0
    {
        MessageBox("数据库表格出错");
    }
    MYSQL_RES *result;
    MYSQL_ROW row;
    if(!(result = mysql_use_result(&mysql)))
    {
        MessageBox("读取数据集失败");
    }
    int i=0;
    CString str = "";
    m_list.DeleteAllItems();
    while(row = mysql_fetch_row(result))
    {
        m_list.InsertItem(i,"");
        for(int j=0;j<3;j++) 
        {
            mysql_query(&mysql,row[1]);
            m_list.SetItemText(i,j,row[j]);
        }
    }
    mysql_free_result(result);//释放结果集
    mysql_close(&mysql);//释放数据库连接这是昨天论坛的一段代码,导出数据后发现数据的顺序反了,改了好多次都出问题,求会的高手帮忙下。
或者有谁可以给个mysql一次全部导出数据的函数,我初学mysql不怎么懂,不知道能不能一次导出,上面的代码,是个循环一条一条的导数据的。
我用的mysql语句,像什么ado操作,把这个学完再去学了。

解决方案 »

  1.   

    mysql跟SQL语法查不多。
    你那程序没问题。
    while(row = mysql_fetch_row(result))
      {
      m_list.InsertItem(i,"");
      for(int j=0;j<3;j++)  
      {
      mysql_query(&mysql,row[1]);
      m_list.SetItemText(i,j,row[j]);
    i++;//就可以了,
      }
      

  2.   

    数据反了你可以改SQL语句的排序,也可以查出数据后先暂存到一个数组里面,然后从数组后向前取数据插入
      

  3.   

    while(row = mysql_fetch_row(result))
      {
      m_list.InsertItem(i,"");
      for(int j=0;j<3;j++)   
      {
      mysql_query(&mysql,row[1]);
      m_list.SetItemText(i,j,row[j]);
      }
    i++;//就可以了,
    }
      

  4.   

    学习下,今天搞MySQL把头都搞痛了