新建数据库(100分)

  • 主题发起人 主题发起人 山药蛋
  • 开始时间 开始时间

山药蛋

Unregistered / Unconfirmed
GUEST, unregistred user!
如何才能在程序运行时动态新建一个数据库(最好格式任意设),并保存成文件呢?
请指教,谢谢!
 
格式任意设?你知道有多少种格式么?
查查以前的帖子,动态建立有很多例子的。
 
格式并不重要,比如paradox就可行。主要是要能进行动态设置并最后保存下来。
我这里没法使用论坛的搜索引擎,总报错,也就查不到以前的帖子了……
哪位大虾能帮忙把有关内容转贴一下啊,一样感谢并给分!
 
create table yourtable不行?
 
新建一个table我是会的,但……怎么把创建的table保存为数据库文件啊?
 
什吗数据库?
 
...
我没有办法了
 
是创建Table,还是Database?
 
>格式并不重要,比如paradox就可行
paradox有database?
 
可能我的表达有问题:我的最终目的是要建立一个可以保存为磁盘上文件的数据库,
要求在程序运行时动态建立.至于数据库的格式,我希望是paradox的(即扩展名是db).
to zhangd:您的意思是说,新建数据库一定要用到database吗?如果是,那么新建以后
如何保存为文件啊?
 
用ClientDataSet吧,建立之后,只要SavetoFile就可保存了,LoadFromFile又可读取,简单实用。

给你个例子:
procedure MyDbCreate_Save;
var
c1: TClientDataSet;
begin
c1 := TClientDataSet.Create(nil);
try
with c1 do
begin
with FieldDefs.AddFieldDef do
begin
Name := '编号';
DataType := ftInteger;
end;
with FieldDefs.AddFieldDef do
begin
Name := '内容';
DataType := ftString;
size := 255;
end;
CreateDataSet;
//*****************************************
追加、处理数据

//*****************************************
end;
c1.SaveToFile('a:/MyData.cds');
finally
c1.Free;
end;
end;

procedure MyDbLoad_Modify_Save;
var
c1: TClientDataSet;
begin
c1 := TClientDataSet.Create(nil);
try
with c1 do
begin
LoadFromFile('a:/MyData.cds');
//*****************************************
修改、处理数据

//*****************************************
end;
c1.SaveToFile('a:/MyData.cds');
finally
c1.Free;
end;
end;
 
感谢Infernal Goddess!
不过我还是想问一问,cbs的数据库和db的数据库有何异同?以前我只用过db格式的,cbs
的格式功能上有何优缺点?db的数据库就不能动态创建吗?用惯了db,要转过来总不太习惯。
 
两者应该差不多
 
我能用CreateTable动态创建paradox数据库了,但如何修改已有的paradox数据库的结构啊?
是不是非用BDE API不可?
 
多人接受答案了。
 
后退
顶部