MFC-将mysql数据添加到到ListControl中

关于MFC中数据库的引用,查看我之前文章https://blog.csdn.net/weixin_43917678/article/details/88779445

	MYSQL mysqlCon;
	mysql_init(&mysqlCon);
	if (!mysql_real_connect(&mysqlCon, "localhost", "root", "123456", "test", 3306, NULL, 0))
	{
		MessageBox(_T("数据库连接失败!"));
	}
	else
	{
		MessageBox(_T("数据库连接成功!"));
		mysql_query(&mysqlCon, "SET NAMES 'GB2312'");//解决从数据库中读取数据后汉字乱码显示的问题  
		char select[1000];
		sprintf_s(select, "select* from alarm_system_allinfo");
		mysql_real_query(&mysqlCon, select, (unsigned long)strlen(select));

		MYSQL_RES *result;
		MYSQL_ROW row;
		result = mysql_store_result(&mysqlCon);
		//如果为空则返回
		if (NULL == result)
		{
			return;
		}		
		int nIndex = m_allInfoList.GetItemCount(); // 获取list里面有多少行
		CString num;
		num.Format("%d", nIndex);
		m_allInfoList.InsertItem(nIndex,num); //插入数据前必须要先开辟一个行
		
		//重复读取行,把数据放入列表中,直到row为NULL
		while (row = mysql_fetch_row(result))
		{
			for (int rols = 0; rols < 11; rols++)
			{
				CString myreaddata(row[rols]);		
				MessageBox(myreaddata);
				m_allInfoList.SetItemText(nIndex, rols+1, myreaddata);//添加数据  分别是行 列 值
			}
		}
	}
	UpdateData(false);
	mysql_close(&mysqlCon);

你可能感兴趣的:(MFC)