这部分是VC与数据库项目的一部分,后来我将之修改成了一个学生成绩信息管理系统,用到了这些控件。
要显示数据库中的信息,首先就要连接数据库,然后使之显示在CList Control控件中,话不多说,直接上代码:
m_ListValue.DeleteAllItems();
MYSQL *conn;
conn=mysql_init(NULL);
if(mysql_real_connect(conn,"localhost","root","123456","mysql",3306,NULL,0)==NULL)
{
AfxMessageBox("数据库连接失败!");
}
else
{
char *ch_query;
ch_query="select * from score";
if(mysql_real_query(conn,ch_query,(UINT)strlen(ch_query))!=0)
{
AfxMessageBox("表中数据有误!");
}
CString str;
MYSQL_RES *result;
MYSQL_ROW row;
if(!(result=mysql_use_result(conn)))
{
AfxMessageBox("读取数据失败!");
}
int i=0;
while(row=mysql_fetch_row(result))
{
str.Format("%s",row[0]);
m_ListValue.InsertItem(i,str);
str.Format("%s",row[1]);
m_ListValue.SetItemText(i,1,str);
str.Format("%s",row[2]);
m_ListValue.SetItemText(i,2,str);
str.Format("%s",row[3]);
m_ListValue.SetItemText(i,3,str);
str.Format("%s",row[4]);
m_ListValue.SetItemText(i,4,str);
str.Format("%s",row[5]);
m_ListValue.SetItemText(i,5,str);
str.Format("%s",row[6]);
m_ListValue.SetItemText(i,6,str);
str.Format("%s",row[7]);
m_ListValue.SetItemText(i,7,str);
str.Format("%s",row[8]);
m_ListValue.SetItemText(i,8,str);
i++;
}
mysql_free_result(result);
}
其中,m_ListValue是CList Control关联的变量。