查询操作用SQL好,还是DELPHI自带的语句好,DELPHI里有哪些语句可用?(30分)

  • 主题发起人 主题发起人 卞志强
  • 开始时间 开始时间
如是本地数据库,用TTable构件, 它可用的语句(方法)可查help
如是访问SQL SERVER上的数据库,最好用TQuery, 即用SQL。
 
简单用table好,复杂的,表间关系多且用的比较多用query比较好
 
我用TTABLE多,SQL服务器多用SP。
TTABLE的方法很多:
....
 
DELPHI 支持LOCAL SQL,所用的能力有限,当然用SQL好了,
当用本地数据库时,用TTABLE也可以
 
sql好,规范,不容易错,容易读懂,容易改
 
不知各位大虾是何态度,反正我是能用SQL就不用其他的。DELPHI的语句能力有限,
不同的数据库,支持的SQL不同,当然用SQL啦.
 
我的原则,一律用SQL
 
如果是本地数据库,使用SQL会增加系统开销(相对使用其它
方法而言),但是网络数据库几乎都用SQL,SQL是一个标准
子集,因此移植性好、通用性高、写出的程序比较规范,清晰。
还有一个重要的区别,使用TTABLE的事务孤立程度不好,
特别容易产生访问冲突,这在多用户访问一个数据库的时候
会出现问题(本地型数据库则根本无法工作),因为TTABLE
直接占有和操纵了实际的数据。如果使用TQUERY进行SQ
L查询,则每个查询获得的是实际数据的一个印象(拷贝),
所以即使多人使用也不会出现太大的问题,对于数据更新,使
用UPDATE SQL,比直接使用TTABLE更能防止冲突。

总的来说,简单的操作使用SQL显得比较麻烦(相对TTABLE)
,但是我一率使用SQL,因为它带来的好处不言而喻,因为
我一直在做网络数据库,离开了SQL简直寸步难移。
 
DELPHI里自带的语句,比如setkey,gotokey,findkey等需要索引,还有一个不需要索引的语句,一时想不起来了,速度很慢,总体说不如SQL,而且只能查找一条记录,一个唯
一的好处可以直接修改方便.建议服务器查询还是多用SQL语句.
 
delphi 对数据表的访问分为两大类方法:
一种是对本地表访问, ttable通过BDE使用流方法直接访问数据文件
tQuery 访问本地表时,通过BDE内置的转换机制,转换SQL 为流方式访问数据文件

另一种是对远程数据库SERVER了
此时,你可以在BDE里设置 SQL PASS THRU 和 SQL QUERY MODE 决定
绕过BDE(即不让BDE去解析 你的SQL),直接发送SQL 到数据库SERVER
而tTable 在此时却相反 , tTable的请求被BDE解析为 SQL 语句,再发送到
数据库SERVER。

所以如果你是在单鸡上做数据库的话,并且很注重单机数据库的速度,就用
tTable, 否则的话,我劝您还是使用 TQUERY和SQL 吧, DELPHI内置支持的
LOCAL SQL 就是很规矩的SQL 92标准, 你可以在任意一本书里找到类似的
SQL介绍和使用范例。
 
SetKey,GotoKey,Locate等
 

用QUERY的程序移植性应该比较好。
 
建议永远都不要用TABLE, 而用QUERY
 
如果你用单机的本地数据库的话就可以大量的使用TTABLE,而且尽量的
少用FILTER,这样可以保证你查询的速度;我觉得这种情况下用SQL一是
功能少,太标准没有扩展,二是优化不好,查询的速度很慢,而且返回的是
一个数据集合,对机器的要求也比一条一条的高,所以会很慢.

当然了,用ORACLE,SQL SERVER这样的酷哥就最好(全)用SQL,一是SQL是
工业标准,程序移植性强;二是对酷哥们SQL有很多扩展,功能强大,优化
也好.

如果客户不想花钱买酷哥,就只好委屈自己逆潮流用TTABLE了.
 
当然是sql啦,通用,标准,永远不会过时,不管你用不用delphi,
你反正都要用它的,ttable么,离开了delphi就一无用处。
 
单机快速应用程序建议用TTable;
其他情况一律sql语句。
 
请继续讨论或结束此问题
 
为何Sever不能用TTable,Why?
 
后退
顶部