|
MYSQL_RES *res;
MYSQL_ROW row;
if((res=mysql_list_processes(myData))==NULL){
MessageBox("プロセス情報が参照できませんでした");
mysql_free_result(res);
return;
}
LV_ITEM listitem;
m_listCtrl.DeleteAllItems();
int count = 0;
int iActualItem;
while(row=mysql_fetch_row(res)){ // すべてのレコードが読み込まれるまで
char Work[256];
// すべてのレコードを表示する
listitem.mask = LVIF_TEXT;
listitem.iItem = count;
listitem.iSubItem = 0;
strcpy(Work,row[0]);
listitem.pszText = Work; //
表示するデータを格納
iActualItem = m_listCtrl.InsertItem(&listitem);
for(int i=1;i<6;i++){
// なぜか7以上は読めない
if(row[i] !=
NULL){
listitem.iItem = iActualItem;
listitem.iSubItem = i;
strcpy(Work,row[i]);
listitem.pszText = Work;
m_listCtrl.SetItem(&listitem);
}
}
}
mysql_free_result(res); // resの開放
実際に評価してみてこちらのほうがいいです。
MYSQL_RES *res;
MYSQL_ROW row;
if(mysql_query(myData,"SHOW PROCESSLIST"))
return;
if((res=mysql_store_result(myData))==NULL){
mysql_free_result(res);
return;
}
LV_ITEM listitem;
m_listCtrl.DeleteAllItems();
int count = 0;
int iActualItem;
while(row=mysql_fetch_row(res)){ // すべてのレコードが読み込まれるまで
char Work[256];
// すべてのレコードを表示する
listitem.mask = LVIF_TEXT;
listitem.iItem = count;
listitem.iSubItem = 0;
strcpy(Work,row[0]);
listitem.pszText = Work; //
表示するデータを格納
iActualItem = m_listCtrl.InsertItem(&listitem);
for(int i=1;i<8;i++){
if(row[i] != NULL){
listitem.iItem = iActualItem;
listitem.iSubItem = i;
strcpy(Work,row[i]);
listitem.pszText = Work;
m_listCtrl.SetItem(&listitem);
}
}
}
mysql_free_result(res); // resの開放
|
|