我原来的代码
void WarmDlg::DatabaseWrite(CString string)
{
try
{ //打开表
m_pRecordset->Open("SELECT * FROM 表格数据",
(IDispatch*)m_pConnection,
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
try
{
m_pRecordset->AddNew();
m_pRecordset->PutCollect("字段2", _variant_t("报警指示值"));
pRecordset->AddNew();
m_pRecordset->PutCollect("字段2", _variant_t("标准值"));
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_pRecordset->Update();//将数据更新返回数据库
m_pRecordset->Close();
}现在我想用m_pConnection->Execute(。)
插入数据,如何改,,请帮忙改一下
void WarmDlg::DatabaseWrite(CString string)
{
try
{ //打开表
m_pRecordset->Open("SELECT * FROM 表格数据",
(IDispatch*)m_pConnection,
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
try
{
m_pRecordset->AddNew();
m_pRecordset->PutCollect("字段2", _variant_t("报警指示值"));
pRecordset->AddNew();
m_pRecordset->PutCollect("字段2", _variant_t("标准值"));
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_pRecordset->Update();//将数据更新返回数据库
m_pRecordset->Close();
}现在我想用m_pConnection->Execute(。)
插入数据,如何改,,请帮忙改一下
CString strtemp;
strtemp.Format("insert into Data([CId], [CName], [PId]) values('%d', '%s','%s')", loweNum, dlg.m_AddName, Pid);
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open((_bstr_t)(strtemp) ,
_variant_t((IDispatch* )theApp.m_pConnection, true),
adOpenStatic,
adLockOptimistic,
adCmdText);
m_pRecordset.Release();
m_pRecordset->Close(); CId , CName, PId 是表里表头
loweNum, dlg.m_AddName, Pid 是对应的要插入的值。
自己改改,看是不是哥要的。
strtemp.Format("insert into Data([CId], [CName], [PId]) values('%d', '%s','%s')", loweNum, dlg.m_AddName, Pid);
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open((_bstr_t)(strtemp) ,
_variant_t((IDispatch* )theApp.m_pConnection, true),
adOpenStatic,
adLockOptimistic,
adCmdText);
m_pRecordset.Release();
m_pRecordset->Close();
上面的那个代码已经非常好了。
换行的问题不用考虑。
既然你是插入记录的,当然不会把当前的记录覆盖掉,如果想要覆盖的话就用update了。
另外,希望楼主尽快把这个帖子结了。
不要让上面的大哥等急了。