我在程序设计时将DataGrid与ADO绑定在一起的,数据库用的是ACCESS。当我选中一行记录后,点击删除按钮后将这条记录从数据库中删除,我在程序里写了SetAllowDelete(!)了,但是还是没有删除!请各位高手指教!
多谢 !
多谢 !
解决方案 »
- Project : error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成后事件..."
- ADO增加数据问题?
- 检查网址是否连接时,如何设置网络连接超时?
- 文件读写中的一些问题
- 这种定义方法不了解,哪位大哥解释一下!list<COMMAND_DATA> m_listCommandData;
- 有没有方法让程序在没有登陆win2000的时候就执行
- 关于QQ在网吧的通信的原理和问题?????????
- 关于WINDOWS API的地址问题(API高手进)
- 刷卡机 程序怎么写 得到卡上的信息 是硬件的事?
- 小妹有事请教各位!!
- 两个程序之间怎样传递消息,利用消息映射
- 请问高手,如何清空本机的ARP缓冲区
dbgrig.Refrash();
你没有搞错吧!我说的是在设计时的静态绑定!
参考一下,good luck
我继续顶!!!!顶!!!!!
静态绑定一个样LPUNKNOWN CDataGrid::GetDataSource()
{
LPUNKNOWN result;
InvokeHelper(0x2a, DISPATCH_PROPERTYGET, VT_UNKNOWN, (void*)&result, NULL);
return result;
}
m_pRecordset=(_RecordsetPtr)GetDataSource()
m_pReocordset.Delete();
m_pReocordset.Refresh();
m_ShowDBGrid.SetRefDataSource((LPUNKNOWN)m_pRecordset);具体的把控件加入工程,在ClassView看方法,试试就懂了?
我不知道你是否懂得了我的意思,我是这样操作的:首先,我在窗体里加了这两个控件,然后在ADO右键的属性里设置好了数据源,然后我在DataGrid控件的右键属性里绑定了ADO。这样就可以显示数据了。当我想添加数据时直接把DataGrid控件的SetAllowAddNew()设置成true就可以了,但当我想删除一条记录的时候,我把DataGrid控件的SetAllowDelet()设置成true,怎么删除不了呢?
你的意思是让我再加一个_RecordsetPtr指针,让它和DataGrid再绑定一次,是吗?我认为这样没必要,因为它添加记录时都不需要这样绑定,所以我认为应该还有别的方法!
我现在很急,希望大家关注!我还有一个问题:
我试着用在一个按钮的事件里,用_ConnectionPtr和_RecordsetPtr指针动态的绑定DataGrid,但不知为什么当我单击四次这个按钮时DataGrid就没有数据显示了,再点击一下就出现的错误,不知道为什么,还请高手指教!代码如下:
void CTele::OnAdd()
{
try
{
CString strTable = "select * from USERNAME";
strTable.TrimRight(); m_pRecordset.CreateInstance(__uuidof(Recordset)); try
{
m_pRecordset->Open((LPCSTR)strTable, _variant_t((IDispatch *)m_pConnect,true),
adOpenDynamic, adLockOptimistic,
adCmdText);
}catch(_com_error e)
{
dboperroeflag=true;
CString errormessage;
errormessage.Format("数据库查询错误101!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage); //显示错误信息 }
if(!dboperroeflag)
{
m_dgrid.SetRefDataSource(NULL);
m_dgrid.SetRefDataSource((LPUNKNOWN)m_pRecordset);
m_dgrid.Refresh();
UpdateData(FALSE);
}
}
这只是显示的代码,添加记录的代码还没有写,为什么当我点击多次时就出Runtime error!错呢?有什么地方写错了吗?
顶!!!!