通过BDE访问ACCESS数据库的程序,老是出错(100分)

  • 主题发起人 主题发起人 kagejoy
  • 开始时间 开始时间
K

kagejoy

Unregistered / Unconfirmed
GUEST, unregistred user!
一个DBGird控件 dbgridRecord,
设置属性 RowSelect 为true
下面一段代码,老是出错,提示EDBEngineError,Record/Key deleted.
这是怎么回事啊?望各位大侠指点迷津。
if (dbgridRecord->SelectedRows->Count > 0)
{
AnsiString s = "";
TDataSet *pDS = dbgridRecord->DataSource->DataSet;
for (int i=0;
i < dbgridRecord->SelectedRows->Count;
i++)
{
pDS->GotoBookmark((void *)dbgridRecord->SelectedRows->Items.c_str());
s = pDS->Fields->Fields[1]->AsString;
ShowMessage(s);
}
}
 
改用Ado吧,现在几乎没人用Bde了,Ado方便
 
请问,为什么没人用BDE了?ADO比BDE有哪些优势?
而且要显示数据我还是得用DBGrid啊,
那我要查询DBGrid中选定的数据,
要怎么做才不出现前面所说的错误?
 
你的代码是C++的,我不懂!
不过你用BDE连ACCESS数据库最好通过ODBC连接。
我也经常出错,现在索性改为PARADOX
 
我是通过ODBC连接的阿?
我把ACCESS数据库添加到ODBC数据源了,
然后把Table的DataBaseName设置为ACCESS数据库的ODBC数据源名称。
 
天啊,看样子不象个新手啊,会不知道BDE与ADO的不同?效率,稳定性大不一样。
要用BDE做的程序,发布时你要用打好几个文件才行,而用ADO只要二个文件就可,程序文件
和数据库文件。BDE会经常莫名其妙的掉文件,总之改用ADO吧。具体的找本书看看就行了
 
不好意思,我也是第一次搞数据库的程序
很多东西都不懂。
我改用ADO控件,问题就解决了,
不过还是不清楚为什么会出现问题。
 
先进行简单的连接看看!如果按你的步骤是没问题的,我做小项目时,用过access
 
Bde+access+bcb(delphi) 极别扭的组合
 
微软给宝兰公司使得拌子,降低你的数据库版本试试吧
 
用ADO连接ACCESS是比较好的选择,但是速度一般。
 
BDE可以跟ACCESS一起好好工作,我以前用过,不过,需要一些设置,我这里有个帮助,英文
的,要的话我可以给你发过去。
 
用BDE确实可以工作,有很多系统现在用得不错。不需要什么设置。
上面的程序不知错在哪一行?
 
你把for (int i=0;
i < dbgridRecord->SelectedRows->Count中的count改为count-1
试试吧
 
后退
顶部