求最简单、便携数据库方法

dangsz 2011-07-16 07:20:06
最近做了几个小游戏,已全部完功,只是这些游戏少了一个小功能一直是心中的遗憾,就是关于游戏的“英雄榜”功能。

想使用英雄榜功能就要用到数据库,但大家也知道英雄榜里的数据其实非常简单数据量也非常的少,并且只需要"一个表"就足够了,所以就是ACCESS也嫌太大了。

有没有办法可以用 文本文件、或其它什么文件做数居库,最主要就是:
第一有最简单的数据功能,可以添加、删除、排序查询等;
第二就是假如这个文件丢失或不存在,可以用DELPHI重建;
第三最好最发还能像MDB数据库一样,只需要一个文件即可。。。。

我网上查了关于连接TXT数据库的方法非常繁琐,并且好像需要两个文件才能运行,麻烦,有没有再简单一点的。


或者大家对这个英雄榜的数据库思路有其它合理化建议也行(即可以用其它方法代替数据库)。
...全文
160 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ADSLAN 2011-07-16
  • 打赏
  • 举报
回复
sqlite不错哇 只有一个文件 代替ACCESS挺好
天涯倦客 2011-07-16
  • 打赏
  • 举报
回复
http://delphi.about.com/od/fileio/a/fileof_delphi.htm


type
TMember = record
Name: string[50];
eMail: string[30];
Posts: LongInt;
end;

var
Members: array [1 .. 50] of TMember;
F: file of TMember;
i: integer;
Member: TMember;
procedure ChangeEMail(const RecN: integer; const NewEMail: string);
var
DummyMember: TMember;
begin
Seek(F, RecN);
Read(F, DummyMember);
DummyMember.eMail := NewEMail;
Write(F, DummyMember);
end;

begin
// 写
AssignFile(F, 'members.dat');
Rewrite(F);
try
for i := 1 to 50 do
Write(F, Members[i]);
finally
CloseFile(F);
end;

// 读
AssignFile(F, 'members.dat');
Reset(F);
try
while not Eof(F) do
begin
Read(F, Member);
{ DoSomethingWithMember; }
end;
finally
CloseFile(F);
end;
飞牛 2011-07-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 shuaialang 的回复:]

ini,你懂的
[/Quote]
+1
山东蓝鸟贵薪 2011-07-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 dangsz 的回复:]
最近做了几个小游戏,已全部完功,只是这些游戏少了一个小功能一直是心中的遗憾,就是关于游戏的“英雄榜”功能。

想使用英雄榜功能就要用到数据库,但大家也知道英雄榜里的数据其实非常简单数据量也非常的少,并且只需要"一个表"就足够了,所以就是ACCESS也嫌太大了。

有没有办法可以用 文本文件、或其它什么文件做数居库,最主要就是:
第一有最简单的数据功能,可以添加、删除、排序查询等;
第二……
[/Quote]
数据量不大的话,那就自己"定义数据结构",这样方便些
rwlin 2011-07-16
  • 打赏
  • 举报
回复
txt

每行格式如:id=value
luquansen 2011-07-16
  • 打赏
  • 举报
回复
我也觉得这个好,方便啊

[Quote=引用 4 楼 shuaialang 的回复:]
ini,你懂的
[/Quote]
shijies 2011-07-16
  • 打赏
  • 举报
回复
firebird
haitao 2011-07-16
  • 打赏
  • 举报
回复
因为数据量少
最方便的还是ini

最近做一个类似picasa的照片库工具,记录可能会几十万以上,正在考虑使用sqlite
shuaialang 2011-07-16
  • 打赏
  • 举报
回复
ini,你懂的
天涯倦客 2011-07-16
  • 打赏
  • 举报
回复
txt足够了。。。
纯冰糖 2011-07-16
  • 打赏
  • 举报
回复
SqlLite
浩南_哥 2011-07-16
  • 打赏
  • 举报
回复
用excel吧,也可以用ado连接excel类似数据库操作,可以试试。
dangsz 2011-07-16
  • 打赏
  • 举报
回复
非常感谢大家,我这个问题提出后我就忽然想到了INI了,并且已成功实现了。

INI操作方便,简单,最牛的是当文件不存时可以自动创建,这点上很实用,
随然在数据排序上稍有点麻烦,但数据不多,也可以轻易解决。

本来我是想来删除这个贴的,没想到这么多人回复,感谢大家,最值得一提是 rouqing 提出的 SqlLite 和 shijies 提出的 firebird 让我对轻便数据库有了新的初步了解。

shuaialang 提出的 ini 解决,我已自己成功实现了,不过还是谢谢你。
至于
m617105 提出的excel方案我想跟access差不多了,好像也不自动创建(即是能,也够麻烦的了)
vividw 提出 txt 不还是ini吗?用INI要比处理TXT文件方便10倍以上。
sgzhou12345 可能没看懂我的意思
vividw 11楼的方法我没看太懂,好像对排序什么的也不方便,总之感谢大家,结贴了。

2,497

社区成员

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

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