几个问题!(100分)

  • 主题发起人 主题发起人 datoncg
  • 开始时间 开始时间
D

datoncg

Unregistered / Unconfirmed
GUEST, unregistred user!
1、在用DELPHI做一个项目时,怎样其EXE文件的大小。将其他模块
生成DLL文件,由EXE调用。
2、讲一讲TTABLE与TQUERY的区别。
3、在大数据量下recordcount的性能怎样,怎样得到
select count(*) from * 的值(不用存储过程)。
4、select *1,*2 into :变量1,:变量2 from *,能否用DELPHI怎样实现。
 
1. 为减小exe, 把其他模块生成DLL? 可以使用"包"来缩小exe,
可以把程序用到的bmp等占空间的资源放入DLL,缩小exe,不过涉及
到C/S数据库的话,不好分到DLL,有个连结时间的问题。
2. TTable和TQuery的区别,C/S数据库多用TQuery,文件型数据库
多用TTable.
3. 性能可能因库而异,取值可用FieldbyName访问。
4. into :变量是SQL语法.同上。



 
1:不是很清楚你的意思,如想减小exe文件大小,可用aspack
2:delphi的帮助很详细,两种访问数据表的方式,都可以达到同样目的。
3:select count(*) as countname from *
4:select *1 as name1,*2 as name2 from *
 
1. 如果只是提供给Delphi程序使用的话,可以不用dll,用另一个叫作包的东东,
这样更方便。
2. TTable与TQuery的区别很显然,TTable直接打开一个数据表,利用filter属性
可以有简单的记录查询功能。TQuery一方面返回一个select语句生成的记录集(用
open),另一方面可以执行一端sql语句,这些sql语句可以根据你的后台数据库,
使用一些特定数据库中的特定用法。其他的大同小异了。
3.如果只是想知道数据记录的数量,用recordcount不好,就用query执行sql来查
吧。
事实上,这样查询出来,bde给指定了一个缺省的列名,好象是field1,可以放个
dbgrid一看便知,如此可以用fieldByname().asinteger了。如果用的Sql server
可以这样写
select count(*) "cnt" from tableName
返回的列名为cnt的列,这样清楚些。
4.如果你的列名和表名不是固定的,这样用恐怕不行,固定的当然可以了。
列名或表名不是固定的,那就在程序里生成sql语句,再放到query.sql中了。

 
1、怎样其EXE文件的大小 ????
看不懂
2、讲一讲TTABLE与TQUERY的区别。
Tquery可以使用用SQL语句来得到结果集
3、在大数据量下recordcount的性能怎样
性能不佳. :-(

怎样得到select count(*) from * 的值(不用存储过程)。
select count(*) as cn from *
然后,fieldbyname('cn').asinteger就是

4、select *1,*2 into :变量1,:变量2 from *,能否用DELPHI怎样实现。
delphi不是pb,这样做不到,你可以用类似上面的办法:
select 1 as name1,2 as name2 from *
变量1 = fieldbyname('name1').asxxxx
变量2 = fieldbyname('name2').asxxxx
 
1. 减小? 全部用api做, 如果是大量window的程序, 累死了:-(
还是aspack吧:-)
2. query是sql语句来得到的, table是标准数据库表.
3.
query1.sql.text:='select count(*) as cnt_all from table1';
query1.active:=true;
showmessage('record count is '+ inttostr(query1.fieldbyname('cnt_all').asinteger));
query1.active:=false;
4. 不是很明白什么意思:-(
* 是通配符吗? 如果有两个结尾是1 的怎么办?
 
1. 一般的程序用Dll来不一定减少总程序的大小。
为减少Exe的大小用Dll挺好。
2。Ttable和Tquery当然有区别。在Tquery中使用SQl来完成,
而Table是标准数据库表,用Tquery很灵活。
3。 select count(*) as count from table1
然后,query1.fieldbyname('count').asinteger就是
而且,可以加条件。
4。select *1,*2 into :变量1,:变量2 from *???
是select 1 as a1,2 as a2 from *
还是:insert into * select...
 
对于第一各问题,EXE文件太大不好,用过PB的知道,PB生成应用程序时,
同时生成一个EXE文件和好几个DLL文件(其中含有应用程序所需要的
资源:如数据窗口,form等。)以减小EXE文件的大小。对于DELPHI的"包",
我还没用过,能否具体点。
>select *1,*2 into :变量1,:变量2 from *,能否用DELPHI怎样实现。
我的原意是:
select 列1,列2 into :变量1,:变量2 from 表名.
 
hi datoncg delphi 的sql语法可不象pb
不是 select 列1,列2 into :变量1,:变量2 from 表名.
而是 select 列1 as 列11,列2 as 列21 from 表名.
variant1 := query1.fieldbyname('列11').asinteger(假设类型为整型)
variant2 := query1.fieldbyname('列21').asinteger
 
多人接受答案了。
 
后退
顶部