送分咯, 请大家给我介绍一下paradox数据库或推荐好帖子!!!(100分)

  • 主题发起人 xiaomaoxia1
  • 开始时间
X

xiaomaoxia1

Unregistered / Unconfirmed
GUEST, unregistred user!
终于不得不用PARADOX数据库了, 以前都是用SQL2000的, 现在要做个单机版,

对PARADOX一点不懂, 请大家帮忙, 答者有分, 不够再加

我需要了解的问题:
paradox数据库在DELPHI中的连接方法! 希望给点代码,我看看就明白了
paradox数据库中的数据操作可以用SQL语言?? 跟在SQL2000有哪些区别??是否一 样
最好推荐用PARADOX数据库的原代码给我, 我看

谢谢,
 
建议还是不要用Paradox,用Sybase sql anywhere 7不错!
 
关于paradox的好贴,你可用“全文搜索”search不就得了!
应该很多的!
 
Sybase sql anywhere 7 是什么数据库? 没用过啊,

还有, 我的DELPHI7 的 database desktop 建表时只能建一个字段, 晕倒啊, 大家有没有这种事?
 
我只是要做个简单的成绩查询系统, 是给别人做的, 我想把程序给他的时候只要把数据库文件
和程序拷给他就行了, 主要的目的是不想让他再装任何数据库方面的软件, 有程序和数据库表文件
就能用了
 
DELPHI与PARADOX是最好的搭配
我从来都是用PARADOX
而且不必管网络版中的数据锁定问题
根本不要连接就可以用PARADOX
 
我以前也用Paradox,主要看中了它与delphi的技术结合较紧以及我要用到fmtmemo数据类型
来存放RTF格式数据。使用中速度还可以,也可用SQL,但一个致命弱点是数据可靠性太差。
我的fmtmemo类型数据,在浏览时会莫名其妙地被破坏。这一点好象大富翁上有许多人谈及。
现在我转用InterBase(IB)或FireBird(FB),它与delphi的结合不亚于paradox,可在单机
上使用,也可非常容易地转移到c/s。更重要的是使用FB时,客户端根本不需要安装,只要
两个.dll文件随应用程序一起发给用户就行了。开发时有IB的专用组件,较方便。如果你对
SQL2000很在行,则使用IB/FB没任何问题。
 
To it_boy69:
具资料介绍,在paradox中删除记录只是把该记录打上删除标记,而不是真正的删除该记录
我试了以下确实如此,把数据库中的记录全部删除后,数据库的大小没变。
那么如何真正的删除记录呢?
 
为什么不用ado+access?好用极了!
 
问个幼稚点的问题:

我现在在DELPHI7环境下编程, 链接数据库表student.db,而且stuent.db不跟程序在同一个目录下(如何放到同一个目录链接, 那个delphi自带的SQL EXPLORE 不熟,
请问,如果我要把程序给别人, 直接把执行文件和数据库文件student.db给他就可以了吗? 如果在同一个目录下程序能链接上数据表
student.db 吗?? 请快点回答啊, 急急!!
 
to jnshy
paradox可以真正的删除该记录。
借花敬佛。
在uses中加入BDE,
procedure TForm.PackTable(Table: TTable); //物理删除已删除的记录
var
Props: CURProps;
hDb: hDBIDb;
TableDesc: CRTblDesc;
begin
// 表是被打开的而且是独占方式打开这样我们可以得到DB HANDEL
if Table.Active = False then
raise EDatabaseError.Create('数据表在压缩之前必须是被打开的');
if Table.Exclusive = False then
raise EDatabaseError.Create('数据表必须以独占方式打开');

// 检测表类型 得到表的各种信息
Check(DbiGetCursorProps(Table.Handle, Props));

// 如果是PARADOX表,必须调用DBIDORESTRUCTURE
if Props.szTableType = szPARADOX then
begin
// 填充结构
FillChar(TableDesc, sizeof(TableDesc), 0);
// 从表的CURSOR HANDLE 得到 DATABASE 的HANDEL
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
// 把表名放到描述区里
StrPCopy(TableDesc.szTblName, Table.TableName);
// 把表类型信息放到描述区里
StrPCopy(TableDesc.szTblType, Props.szTableType);
// 设置表描述区里的PACK 选项为TRUE
TableDesc.bPack := True;
// 关闭表才可以做重结构动作
Table.Close;
// 调用 DbiDoRestructure...
Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, FALSE));
// end
else
// 如果是DBASE表,简单调用DBIPACKTABLE即可
if Props.szTableType = szDBASE then
Check(DbiPackTable(Table.DBHandle, Table.Handle, nil, szDBASE, TRUE))
else
//PACK动作只能对PARADOX和DBASE表来完成,其他会出错
raise EDatabaseError.Create('数据表类型必须为PARADOX或DBASE表 ' );

Table.Open;
end;
 
怎么就是不回答我的问题啊, 我才需要帮忙啊,

再问, 动态创建表时怎样把字段设为索引字段??
 
用TABLE的findkey查询的结果可否在DBGRID中显示出来???

我搞了半天就是不能在DBGRID显示出来, 可以把查询结果的某个字段用LABEL显示出来

怎么回事, 请高手指点!!! 分不够再加!!
 
多人接受答案了。
 
顶部