MFC的listcontrol所有数据输出到mysql,重复了第一条数据

CString s1, s2, s3;
    CString insert2;
    char insert1[1000];     
    int nIdx;
    int rows = m_SaleList.GetItemCount();
if (rows == 0) {
        AfxMessageBox("没有要结算的商品!");
    }
    else {
            for (nIdx = 0; nIdx < rows; nIdx++) {
                s1 = m_SaleList.GetItemText(nIdx, 0);
                s2 = m_SaleList.GetItemText(nIdx, 1);
                s3 = m_SaleList.GetItemText(nIdx, 2);

                //第一种方式:sprintf_s出现不能重载问题,只能输出list上的第一条数据到mysql,怎么解决?
                //sprintf_s(insert1, "insert into dailysettle(bar_codes, category, product,) values (\'%s\', \'%s\', \'%s\')", s1, s2, s3);

                ///*第二种方式,成功把所有数据输出到mysql,但第一条数据重复两次??????????????
                insert2.Format("insert into dailysettle(bar_codes, category, product, color, saleprice, number, discountprice, remark) values (\'%s\', \'%s\', \'%s\')", s1, s2, s3);
                mysql_query(&mysqlConOper, insert2);
                //*/
            }
    }

第二种方式应该是Format和mysql_query都输出到了mysql,但只有insert2.Format()语句的话,程序运行只能输出第一条数据,同用第一种sprintf_s的方式。
如果想把listcontrol的所有数据都输出到mysql中,怎么做呢?