关于Access数据库和BDE,急

superldhcn 2002-10-01 07:19:58
我用TQuery操作Access数据库,用他浏览添加删除纪录,对于Access数据库中字段不是太多的表完全没有问题,但是我有一个表字段达到90个,用TQuery向其保存纪录时候,提示出错:
错误消息如下:
Key violation.
[Microsoft][ODBC Microsoft Access 驱动程序] 查询过于复杂

先请问,是不是因为我的Access数据库中的那个表字段太多?如果是这样,怎么解决?

查询过于复杂怎么解释?我的SQL语句类似就是下面这样的:
Select * From 泵站运行纪录 Where 站ID = 3

由于事情比较急,还望各位朋友帮忙,谢谢
...全文
117 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
superldhcn 2002-10-02
  • 打赏
  • 举报
回复
嗯,好注意,我试试看
谢谢提示
JetJack 2002-10-02
  • 打赏
  • 举报
回复
你试一下用cacheupdate方式更新,通过updateSQL控件更新数据表的记录。
coolicelee 2002-10-02
  • 打赏
  • 举报
回复
xjspa(天涯) 说的很现实
是呀,应该用学会在数据库中利用外键,数据库不是裹脚布,就算很长也不应该很臭
superldhcn 2002-10-02
  • 打赏
  • 举报
回复
再问一句,在不修改表结构和更换采用ADO的前提下,真的就没有解决办法了?
superldhcn 2002-10-02
  • 打赏
  • 举报
回复
用UpdateSQL确实可以,谢谢!!!!!!!!
xjspa 2002-10-01
  • 打赏
  • 举报
回复
从长远的观点来看,我建议修改表的结构,理由如下:
1。如果在购进一台水泵你怎么办?
2。数据冗余太大。
hongqi162 2002-10-01
  • 打赏
  • 举报
回复
我感觉你的程序用ado会很方便!!!
hqycxy 2002-10-01
  • 打赏
  • 举报
回复
我在做个东东,是用ADO的,比BDE方便多了
耙子 2002-10-01
  • 打赏
  • 举报
回复
我不知道Access的表能支持多少列,但给你几个建议:
1.考虑一下修改表结构的成本如何;
2.考虑换成ADO方式;
3.考虑升级一下BDE(最新的是5.11,D6带的就是了),因为你即使用ODBC实际上还是透过BDE来操作ODBC的。
耙子 2002-10-01
  • 打赏
  • 举报
回复
我不知道Access的表能支持多少列,但给你几个建议:
1.考虑一下修改表结构的成本如何;
2.考虑换成ADO方式;
3.考虑升级一下BDE(最新的是5.11,D6带的就是了),因为你即使用ODBC实际上还是透过BDE来操作ODBC的。
superldhcn 2002-10-01
  • 打赏
  • 举报
回复
就是呀,所以我也在骂人,哎,这个库是原先给管理局做东西的人做的了,哎
倒霉
耙子 2002-10-01
  • 打赏
  • 举报
回复
那6+1个字段就够了
你每个机组的字段都是相同的,你这么建表不合理。
superldhcn 2002-10-01
  • 打赏
  • 举报
回复
为什么这多字段呢?
因为泵站里面有12台机组,每个机组至少关心以下6个参数:
本灌季运行时间,累计运行时间,抽水量,用电量,开停机次数,完好状态.总共就有
72个了,还有一些其他的参数,加起来80多,快90了吧,呵呵.
数据库是别人弄的,我也没有办法啦,现在再来改数据库的设计,成本太高了
superldhcn 2002-10-01
  • 打赏
  • 举报
回复
因为我这个对话框是要用来浏览添加删除更改纪录的,所以所有的字段都做上来的,如果不做上来,我怎么能添加完整的纪录呢?,所以我想下面这样
Select 字段1,字段2 From 泵站运行纪录 Where 站ID = 3
是满足不了我的要求的
wzrlover 2002-10-01
  • 打赏
  • 举报
回复
>>我有一个表字段达到90个
一个表有这么多的字段呀,表结构设计是否合理呢?

如果是由于返回过多的记录集造成的,
用Select 字段1,字段2 From 泵站运行纪录 Where 站ID = 3
只要返回有用信息的字段,应该没问题吧。

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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