关于数据库应用程序的问题!(200分)

  • 主题发起人 主题发起人 shuoshuo
  • 开始时间 开始时间
S

shuoshuo

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个应用程序,要同时打开十几个DB数据库文件,为什麽有时报‘内存不够’的错误
报错之后刚才输入的数据就会全部丢失!急死我了,请问各位有没有办法解决!多谢
 
少打开一些, 用的时候打开, 用完就关闭.

另外, 可以将编译选项中的内存加大, 或者调整一下数据库结构.
 
有条件的话扩内存
 
数据最好随用随取。
 
1.精简数据库结构
2.减少打开/关闭数据库的次数(针对速度而言)
3.使用query操作数据
 
1.更改库结构
2.如果可能的话尽量做到打开数据库,读取记录,然后关闭它
3.尽量少用控件,它们可是吞噬内存的大户(尽管它们有时候显得相当方便!)
做一个好的程序不应该是由很多现成的控件堆砌而成!
 
你可能用了许多 lookup 字段,导致打开表太多,而你的机器内存又不大,可能出现这种
问题。建议使用 Query,尽量少同时打开多个表。
 
QUEY也是不能打开的太多的文件,不然会报错,好像是说超过允许打开的文件个数的最大值,以后的文件
就大不开了...
 
同Iknow的意见
 
iknow:
能不能讲详细一点!多谢!
 
我编译时内存是这样设置的
Min stack size:$00004000
Max stack size:$00100000

同时开15个数据库将它们加大多少应用程序运行才能可靠稳定?
 
你还要动态打开Tform,不要静态打开Tform,这样会减少内存的开销。
 
>>同时开15个数据库将它们加大多少应用程序运行才能可靠稳定?
~~~~~~~~~~~
是15个Table吧.你用的什么数据库?我用SQL SERVER时,大的程序也能打开
十几个TABLE的,没有问题呀,只是程序启动的时间长些.RAM 32.
 
建议动态的打开数据库.当一个用完之后,就马上free掉.编程序要为用户考虑,不能买了
你的软件之后还要加内存
 

请问陈君凯:
对数据库的close和free有什么区别?
 
建议你重新设计你的程序框架,很少有程序会同时需要这么多的资源。
 
表的数量能不能减少
 
多人接受答案了。
 
后退
顶部