相关疑难解决方法(0)

Delphi组件与SQlite一起使用

我可以使用哪些组件在Delphi 6中使用SQlite数据库?

delphi sqlite components

10
推荐指数
3
解决办法
2万
查看次数

SQLite库可以嵌入(Link)Delphi可执行文件吗?

我想知道我们是否能够将SQlite库嵌入到Delphi可执行文件中,我们可以将我们的应用程序部署为单个.exe文件而不需要任何SQlite dll文件.

嵌入不是将sqlite dll文件保存到资源中,而是链接到Delphi可执行文件.

delphi sqlite

10
推荐指数
3
解决办法
5384
查看次数

Delphi嵌入式DB

我需要一个SMALL/LIGHTWEIGHT DB控件(可能作为单个PAS文件提供),我可以直接集成到我的应用程序中.我需要在少量表中存储相对少量的数据,并且我想快速访问某些列.我知道Delphi 7有那么好的BDE,但我不想让用户在安装过程中遇到麻烦.

我使用的是Delphi 7.


编辑:
我想我问了错误的问题.那么,这就是我真正需要的:
如何将动态数据(未知数量的字段)存储到文件中?

database delphi

8
推荐指数
5
解决办法
3609
查看次数

正在寻找D2009 +的本地数据库

我正在尝试更新一个遗留应用程序,该应用程序在一个黑客攻击的BDE Paradox文件系统中完成所有数据存储.该程序在某些狭窄的条件下运行良好,但它有严重的性能问题.

我想通过更新到更好的数据库系统来尝试改进.我需要的是一个本地数据库,最好是我可以将整个东西存储在一个文件中,而不是当前的"每个表一个或多个文件"系统.它必须支持外键关系和表索引,并且必须能够从具有数十万个元素的表的查询中快速返回结果.

最后一个很重要.当前系统已编入索引,但这似乎并不重要.所有查询似乎都在O(N)时间内运行,其中N是表的总大小,当表开始变大时,它会变得非常慢.我不确定为什么,但这必须消失.

它必须在D2009及更高版本下工作.有人可以提供一些建议吗?

database delphi delphi-2009 delphi-2010 local-database

6
推荐指数
2
解决办法
1917
查看次数

我应该如何在Delphi中实现一个巨大但简单的索引StringList?

我正在使用Delphi 2009.我有一个非常简单的数据结构,有2个字段:

  1. 一个字符串,它是我需要检索的关键字段,长度通常为4到15个字符.
  2. 一个字符串,它是可以是任意大小的数据字段,从1个字符到10,000个字符.

困难在于我可能有几百万条记录,因此它们的总大小可能超过10 GB.显然,我正在寻找一种磁盘解决方案,而不是内存解决方案.

我的程序需要根据关键字段随机检索这些记录.这就是需要尽可能高效的部分.

我应该将数据库用于这样一个简单的结构吗?如果是这样,哪个数据库最好处理这个并且最简单的实现?

或者,是否有一个简单的磁盘上数据结构,不需要一个完整的数据库,也可以工作?


好吧,我所需要的只是让我回到现实的一个答案.我一直在寻找比简单数据库更简单的东西.但是,如果不使用数据库,那么我意识到我已经用自己对另一个问题的答案回答了这个问题:小应用程序和工具的最佳数据库.

我的回答是DISQLite3我指定有原因.这就是我实施的可能性.


一些可能的更好的答案.那很棒.我将能够尝试一些不同的方法来看看什么效果最好.


更多的考虑,我不得不改变GpStructuredStorage解决方案的接受答案.

就我而言,总计几千兆字节的一百万条记录将对数据库结构造成压力.具体来说,用于在大多数数据库中存储索引的B*树速度很快,但对于某些操作(如重新索引一百万个值)会减慢.

对于索引,你唯一能找到比B*更快的东西就是哈希表.这正是gabr建议添加到GpStructuredStorage解决方案中所提供的内容.我认为它将哈希值分段为一个4级目录结构的方式非常优雅.

我可以使用哈希解决方案的关键原因是我只需要通过密钥随机访问.我不需要按键排序.如果需要排序,则哈希表的速度增益将会丢失,数据库系统将成为无脑的赢家.

当我开始实现这个时,我应该对这个技术与数据库进行比较.也许我会与Firebird和SQLite进行比较,这两者都是值得对手的.


另外一个跟进:

我刚刚发现了A. Bouchez的Synopse Big Table,它专为速度而设计,几乎可以准确地满足我的问题规格.当我在几个月内完成实施时,我会先尝试一下,然后在这里报告我的结果.


稍后的后续(2015年7月)

我从未尝试过Synopse Big Table.到目前为止,我一直坚持使用我的B*树.但现在我升级到Delphi XE8并计划使用FireDAC和SQLite来使用数据库解决方案.

database delphi

4
推荐指数
2
解决办法
1415
查看次数

我可以使用ADO最简单的数据库类型是什么?

我正在寻找一种方法,我可以将数据库保存在一个文件中,没有托管它的服务器,并且能够使用ADO(在delphi中,特别是TADOConnection和/或TADOQuery).请原谅我在这一方面缺乏术语.我只熟悉SQL Server数据库,而不了解任何其他数据库.事实上,我知道读/写文件的唯一方法是纯文本,INI和XML.至于任何官方的"数据库",我什么都不知道.

所以我想要做的是将一个文件保存为数据库,类似于QuickBooks有一个单独的"公司文件".我不应该有任何东西来托管数据,例如SQL Server.它需要与ADO兼容,这样我就可以用简单的select,update,delete等它并不需要如此复杂的有关系,安全等,但它确实需要有一些相同的语法规则的SQL Server一样,诸如命令join,alter,distinct等.

我正在寻找最轻的方法来做到这一点.这些文件需要足够灵活,能够复制/粘贴(只要应用程序不使用它),类似于excel文件.其实,我最初的想法是使用Excel,因为我知道我可以使用ADO,但我也不想要求微软Excel的驱动程序(它必须假定微软Office/Excel中安装用户的计算机上).显然需要一些驱动程序,但我需要最兼容的标准方法.

database sql-server delphi ado delphi-xe2

4
推荐指数
2
解决办法
1063
查看次数

是否有支持多线程的本地数据库?

我试过sqlite,通过使用多线程,只有一个线程可以同时更新数据库..我需要多线程同时更新数据库.是否有任何DB可以完成这项工作?

ps:我使用delphi6.


我发现sqlite可以支持多线程,

但是在我对asgsqlite的测试中,当一个线程插入时,其他线程将无法插入.

我还在测试.

database delphi multithreading

2
推荐指数
1
解决办法
1684
查看次数

不需要额外安装的数据库

我开发了C#应用程序,用于存储和检索SQL数据库中的数据.但是,当我的客户必须部署应用程序,他需要安装SQL Server Express 2008,这是它的requirement.Now他希望该软件没有额外的安装add-on.so我除了点网框架,不应该有任何安装额外安装.

我已经见过像某些数据库中SQL compact,SQL lite ,SQL CE and blackfishSQL,但我真的DONOT知道,做他们需要额外的安装和做什么努力,我必须做出根据我看着选定的数据库来改变我的整个代码这个 请大家帮帮我

sql database sqlite embedded-database sql-server-ce

2
推荐指数
1
解决办法
236
查看次数