我原来的代码
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(。)
插入数据,如何改,,请帮忙改一下

解决方案 »

  1.   

    我的小手记:【ADO 连接对象 Execute 方法】http://blog.csdn.net/zaodt/archive/2009/03/05/3961178.aspx
      

  2.   

    我要写进去好几行数据的,以前用m_pRecordset->AddNew();,用m_pConnection->Execute怎么表示换行的
      

  3.   

    执行Insert语句,要特别注意 会自增的Index列,这个忘了需不需要赋值了,你可以自己试试, 如果装了SQL调试Insert语句就最好不过了。
      

  4.   

    你直接用m_pConnection->Execute执行insert语句就行了啊,换行你可以用m_pConnection->movenext()啊
      

  5.   


    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 是对应的要插入的值。
    自己改改,看是不是哥要的。
      

  6.   

    晕,本想弄点颜色提示,居然那样了,汗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(); 
      

  7.   

    不解,兰州干嘛要放两个 try 和 catch。
      

  8.   


    上面的那个代码已经非常好了。
    换行的问题不用考虑。
    既然你是插入记录的,当然不会把当前的记录覆盖掉,如果想要覆盖的话就用update了。
    另外,希望楼主尽快把这个帖子结了。
    不要让上面的大哥等急了。