vc6.0+sql2000修改记录没有达到预期的效果
我在修改记录的时候编写了如下代码,运行没什么问题,但没有达到预期的效果,所以向大家请教一下:
UpdateData();
CString sqlStr;
sqlStr.Format("select * from td_goods"); //载入数据库相关表的数据
td_goodsset2 = new CGoodsset(&((CSHOPApp*)AfxGetApp())->m_DB);
if(!td_goodsset2->Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr)) //调用Open函数查询数据源中的记录并建立记录集
{
AfxMessageBox("tb_goods表打开失败!");
}
COleDateTime dt1,dt2;
dt1.ParseDateTime(m_producetime);
dt2.ParseDateTime(m_selldate);
SYSTEMTIME st1,st2;
dt1.GetAsSystemTime(st1);
dt2.GetAsSystemTime(st2);
CTime tm1(st1),tm2(st2);
td_goodsset2->Edit();
td_goodsset2->m_GoodsId = atol(m_goodsid);
td_goodsset2->m_Sort = m_types;
td_goodsset2->m_Name = m_goodsname;
td_goodsset2->m_Unit = m_unit;
td_goodsset2->m_Saleprice = m_saleprice;
td_goodsset2->m_Stockprice = m_storeprice;
td_goodsset2->m_Producetime = tm1; //(CTime)m_producetime;
td_goodsset2->m_Rebate = m_rebate;
td_goodsset2->m_Seriesnumber = atol(m_number);
td_goodsset2->m_QuantityQT = tm2; //(CTime)m_selldate;
td_goodsset2->Update();
CString sgoodsid,sproducetime,squantityQT,sbuycount,sserisnumber;
CTime tDate ,tData2;
sgoodsid.Format("%d",td_goodsset2->m_GoodsId);
sserisnumber.Format("%d",td_goodsset2->m_Seriesnumber);
sbuycount.Format("%d",td_goodsset2->m_Buycount);
tDate = td_goodsset2->m_Producetime;
tData2 = td_goodsset2->m_QuantityQT;
squantityQT = tData2.Format("%m/%d/%y");
sproducetime =tDate.Format("%m/%d/%y");
m_goodsinflist.DeleteItem(number); //从数据源中删除位于指定索引位置的记录。
// td_goodsset2->Requery();
// DisplayRecord2();
// CString num ;
// num.Format("%d",number);
// MessageBox(num);
m_goodsinflist.InsertItem(number,sgoodsid,0);
m_goodsinflist.SetItemText(number,1,td_goodsset2->m_Sort);
m_goodsinflist.SetItemText(number,2,td_goodsset2->m_Name);
m_goodsinflist.SetItemText(number,3,td_goodsset2->m_Unit);
m_goodsinflist.SetItemText(number,4,td_goodsset2->m_Saleprice);
m_goodsinflist.SetItemText(number,5,td_goodsset2->m_Stockprice);
m_goodsinflist.SetItemText(number,6,td_goodsset2->m_Rebate);
m_goodsinflist.SetItemText(number,7,td_goodsset2->m_Producer);
m_goodsinflist.SetItemText(number,8,sproducetime);
m_goodsinflist.SetItemText(number,9,squantityQT);
m_goodsinflist.SetItemText(number,10,sserisnumber);
m_goodsinflist.SetItemText(number,11,sbuycount);
运行修改后结果是我所要修改的记录(比如第二条记录)没有被修改,而是第一条被修改成了修改后的数据;如果修改的是第一记录,则能达到预期效果,希望大家能帮我分析一下是什么原因,如何修改?