"DBGrid index Out of Range "

1982ybsybs 2003-11-06 09:37:31
Query1->DisableControl();
for(int i=0; i<100; i++)
{
Query1->Append();
Query1->FiledByName("f1")->Value="sss";
Query1->FiledByName("f2")->Value="sss1";
Query1->Post();
}
Query1->EnableControl();

为什么加上 :
Query1->DisableControl();
Query1->EnableControl();
时有时候会出现"DBGrid index Out of Range " 错误!
...全文
43 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
bullHEcow 2004-03-08
  • 打赏
  • 举报
回复
帮你顶,我也出现了类似的情况
xiaokange 2004-03-08
  • 打赏
  • 举报
回复
原因是你的数据显示组件和你的数据集中的字段或某个共同的属性不一致。
bullHEcow 2004-03-08
  • 打赏
  • 举报
回复
将DBGrid的Options属性的dbAlwaysShowSelection设为true试一试
WbtServer 2004-02-10
  • 打赏
  • 举报
回复
可能是DBGrid里面添加的字段数量不正确。
jinhaiwu 2004-02-07
  • 打赏
  • 举报
回复
Query1->DisableControl();
for(int i=0; i<100; i++)
{
Query1->Append();
Query1->FieldValues["f1"] = "sss";
Query1->FieldValues["f2"] = "sss1";
Query1->Post();
}
Query1->EnableControl();
IT-司马青衫 2004-02-06
  • 打赏
  • 举报
回复
Query1->DisableControl();
for(int i=0; i<100; i++)
{
Query1->Append();
Query1->FiledByName("f1")->Value="sss";
Query1->FiledByName("f2")->Value="sss1";
Query1->Post();
}
Query1->Reflash();//<<----------
Query1->EnableControl();
goneaway1981 2004-02-05
  • 打赏
  • 举报
回复
估计是别的地方有错误
IT-司马青衫 2004-02-04
  • 打赏
  • 举报
回复
我帮你提
BCBX 2003-11-12
  • 打赏
  • 举报
回复
从表面上看是不该发生那个错误提示!!
肯定是有其他的代码引起来的。看看数据集和网格有没有写事件代码
BCBX 2003-11-12
  • 打赏
  • 举报
回复
for(int i=0; i<100; i++)
{
Query1->Append();
Query1->FiledByName("f1")->Value="sss";
Query1->FiledByName("f2")->Value="sss1";
Query1->Post();
}

数据集是不是只有这两个字段?
BCBX 2003-11-12
  • 打赏
  • 举报
回复
为什么加上 :
Query1->DisableControl();
Query1->EnableControl();

因为断开数据显示组件和数据集的连接,目的在于提高速度。
netsys2 2003-11-06
  • 打赏
  • 举报
回复
好奇怪的用法,既然是QUERY,为什么不直接写SQL语句呢?

insert into yourtab values('sss','sss1')
hzhxxx 2003-11-06
  • 打赏
  • 举报
回复
同意楼上

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧