CString sql= (CString)"Insert into Product (ProNum, State,Memo1,Operate) Values('";
sql = sql + (CString)s_Edit;
sql = sql + (CString)"','";
sql = sql + (CString)s_State;
sql = sql + (CString)"','";
sql = sql + (CString)s_Memo;
sql = sql + (CString)"','";
sql = sql + (CString)s_Operate;
sql = sql + (CString)"')"; m_Adodc.CommandTypeEnum = CAdodc1::adCmdText;
m_Adodc.ConnectStringTypeEnum = CAdodc1::adConnectTypeOledb;
m_Adodc.put_RecordSource(sql);
m_Adodc.Refresh();
m_DataGrid.Refresh();
UpdateData(false);代码如上,我知道是因为 m_DataGrid.Refresh();这句引起的 refresh一般只能用来打开记录集,用来执行语句会出错误.但应该有什么解决方法呢?
sql = sql + (CString)s_Edit;
sql = sql + (CString)"','";
sql = sql + (CString)s_State;
sql = sql + (CString)"','";
sql = sql + (CString)s_Memo;
sql = sql + (CString)"','";
sql = sql + (CString)s_Operate;
sql = sql + (CString)"')"; m_Adodc.CommandTypeEnum = CAdodc1::adCmdText;
m_Adodc.ConnectStringTypeEnum = CAdodc1::adConnectTypeOledb;
m_Adodc.put_RecordSource(sql);
m_Adodc.Refresh();
m_DataGrid.Refresh();
UpdateData(false);代码如上,我知道是因为 m_DataGrid.Refresh();这句引起的 refresh一般只能用来打开记录集,用来执行语句会出错误.但应该有什么解决方法呢?
//是对已获得的记录集重新查询。你记录集都没有Open呢,那来的Refresh
//参数可以看ADO程序员手册,网上有
//ADO操作可以看看http://www.vckbase.com/document/finddoc.asp?keyword=ADO这里的内容
之前绑定了数据源了吗?//动态绑定可以这样做
LPUNKNOWN pCursor=m_adodc1.GetDSCCursor();
ASSERT(pCursor!=NULL);
m_datagrid1.SetRefDataSource(pCursor);