69,372
社区成员
发帖
与我相关
我的任务
分享
MYSQL_RES *lv_res;
MYSQL_ROW lv_row;
unsigned int lv_Row = 0;
// 执行查询
if (mysql_real_query(&mv_mySQLClient, t_StrSql.c_str(),
(unsigned int) strlen(t_StrSql.c_str())))
{
cout << "Error query from database: %s\n" << mysql_error(
&mv_mySQLClient) << endl;
return false;
}
if ((lv_res = mysql_store_result(&mv_mySQLClient)) == NULL)
{
return true;
}
vector<string> lv_objectValue;
while ((lv_row = mysql_fetch_row(lv_res)))
{
// 遍历结果集
lv_objectValue.clear();
for (lv_Row = 0; lv_Row < mysql_num_fields(lv_res); lv_Row++)
{
lv_objectValue.push_back(lv_row[lv_Row]);
}
this ->mv_resultList.push_back(lv_objectValue);
}
mysql_free_result(lv_res); //free result after you get the result
mysql_fetch_field()
返回下一个表字段的类型。
mysql_fetch_field_direct()
给定字段编号,返回表字段的类型。
mysql_fetch_fields()
返回所有字段结构的数组。
mysql_fetch_lengths()
返回当前行中所有列的长度。
mysql_fetch_row()
从结果集中获取下一行
mysql_field_seek()
将列光标置于指定的列。
mysql_field_count()
返回上次执行语句的结果列的数目。
mysql_field_tell()
返回上次mysql_fetch_field()所使用字段光标的位置。
mysql_free_result()
释放结果集使用的内存。
MYSQL *mysql = NULL;
mysql = mysql_init(mysql);
int i = 0;
MYSQL_RES *res;
MYSQL_ROW record;
CStringArray* arrayStr;
arrayStr = new CStringArray[5000];
mysql_real_connect(mysql,"192.168.8.32","mars","123456","lich",3306,NULL,NULL);
CString sql_str = "select l_test_case.nID,l_test_case.strName,l_test_case.strCommand,l_test_case_status.strStatus_Name from l_test_case left join l_test_case_status on l_test_case.nStatus = l_test_case_status.nID left join l_testplan on l_test_case.nTest_Plan_Id=l_testplan.nID where l_test_case.bDelete=0 and l_test_case.bTest=0 and";
int cnt = ((CListBox*)GetDlgItem(IDC_LST_RMV))->GetCount();
if(cnt != 0)
{
for(int i = 0; i < cnt ;i++)
{
CString plan ;
if (i == 0)
{
((CListBox*)GetDlgItem(IDC_LST_RMV))->GetText(i,plan);
sql_str += " (l_testplan.strName ='";
sql_str += plan;
sql_str += "'";
}
else
{
((CListBox*)GetDlgItem(IDC_LST_RMV))->GetText(i,plan);
sql_str += " or l_testplan.strName ='";
sql_str += plan;
sql_str += "'";
}
}
sql_str += ")";
sql_str += " order by l_test_case.nID";
}
else
{
sql_str = "select l_test_case.nID,l_test_case.strName,l_test_case.strCommand,l_test_case_status.strStatus_Name from l_test_case left join l_test_case_status on l_test_case.nStatus = l_test_case_status.nID left join l_testplan on l_test_case.nTest_Plan_Id=l_testplan.nID where l_test_case.bDelete=0 and l_test_case.bTest=0 ";
}
mysql_query(mysql,sql_str);
res = mysql_store_result(mysql);
while((record=mysql_fetch_row(res)))
{
arrayStr[i].Add(record[0]);
arrayStr[i].Add(record[1]);
arrayStr[i].Add(record[2]);
arrayStr[i].Add(record[3]);
i++;
}