2:FASTREPORT如何打印某一数据集的部分内容(比如只打印选中的记录),因为是从表所以不能查询和过滤
3:当DataSet的Filtered := True时 DBGridEh的滚动条会失效,如何解决?
4:事物是不是必须用SQL语句来操作数据库才有用?我一般都用Append之类的,但是发现出错后事物没有回滚。
5:另外求一种查询方法:
通过从表没有的记录查出对应主表的数据,
比如某一表从表为用户交费记录,交费金额有2种100和1000,如何查出只交了100的而没有交1000的用户呢?
问题比较多分不多还请各位见谅
现谢谢各位了!!
8 个解决方案
#1
isnull(x,'')
#2
1. isnull(x,'') = ''
2. 把未选中的记录删除 或 做两分来源数据,一份原始的来源数据,用来挑选,然后把选中的数据移动到玉fastreport关联的dataset。
3. 应该不存在这个问题。请检查是否有disablecontrol未enablecontrol或用
while dataset.controldisabled do
dataset.enablecontrol;
4. 事务是数据库的概念。跟append不搭界,delphi只是通过数据库连接的方法来开启、提交、回滚事务。
5. 比如 主表 a(用户,...) 从表 b(用户,缴费金额,缴费日期,...),sql如下:
SELECT * FROM a WHERE 用户 in (SELECT 用户 FROM b WHERE 缴费金额=100)
and 用户 not in (SELECT 用户 FROM b WHERE 缴费金额=1000)
2. 把未选中的记录删除 或 做两分来源数据,一份原始的来源数据,用来挑选,然后把选中的数据移动到玉fastreport关联的dataset。
3. 应该不存在这个问题。请检查是否有disablecontrol未enablecontrol或用
while dataset.controldisabled do
dataset.enablecontrol;
4. 事务是数据库的概念。跟append不搭界,delphi只是通过数据库连接的方法来开启、提交、回滚事务。
5. 比如 主表 a(用户,...) 从表 b(用户,缴费金额,缴费日期,...),sql如下:
SELECT * FROM a WHERE 用户 in (SELECT 用户 FROM b WHERE 缴费金额=100)
and 用户 not in (SELECT 用户 FROM b WHERE 缴费金额=1000)
#3
不出現null可以,數據庫欄位設置個默認值
或者isnull(x,'')=''做查詢
如果是大量數據,建議給個默認值,有助於提升查詢速度,我個人不喜歡用in,學會用exists,效率更高
因為它利用到了index
或者isnull(x,'')=''做查詢
如果是大量數據,建議給個默認值,有助於提升查詢速度,我個人不喜歡用in,學會用exists,效率更高
因為它利用到了index
#4
isnull(?,'')=''
#5
学习了~
#6
关于第三个问题 过滤的时候没有disablecontrol哦,其他问题正在测试
先谢谢了
先谢谢了
#7
继续顶,比较急的问题,还请各位高抬贵手
#8
问题 1 2 5已解决,非常感谢,还有 3 4望大家帮帮忙
#1
isnull(x,'')
#2
1. isnull(x,'') = ''
2. 把未选中的记录删除 或 做两分来源数据,一份原始的来源数据,用来挑选,然后把选中的数据移动到玉fastreport关联的dataset。
3. 应该不存在这个问题。请检查是否有disablecontrol未enablecontrol或用
while dataset.controldisabled do
dataset.enablecontrol;
4. 事务是数据库的概念。跟append不搭界,delphi只是通过数据库连接的方法来开启、提交、回滚事务。
5. 比如 主表 a(用户,...) 从表 b(用户,缴费金额,缴费日期,...),sql如下:
SELECT * FROM a WHERE 用户 in (SELECT 用户 FROM b WHERE 缴费金额=100)
and 用户 not in (SELECT 用户 FROM b WHERE 缴费金额=1000)
2. 把未选中的记录删除 或 做两分来源数据,一份原始的来源数据,用来挑选,然后把选中的数据移动到玉fastreport关联的dataset。
3. 应该不存在这个问题。请检查是否有disablecontrol未enablecontrol或用
while dataset.controldisabled do
dataset.enablecontrol;
4. 事务是数据库的概念。跟append不搭界,delphi只是通过数据库连接的方法来开启、提交、回滚事务。
5. 比如 主表 a(用户,...) 从表 b(用户,缴费金额,缴费日期,...),sql如下:
SELECT * FROM a WHERE 用户 in (SELECT 用户 FROM b WHERE 缴费金额=100)
and 用户 not in (SELECT 用户 FROM b WHERE 缴费金额=1000)
#3
不出現null可以,數據庫欄位設置個默認值
或者isnull(x,'')=''做查詢
如果是大量數據,建議給個默認值,有助於提升查詢速度,我個人不喜歡用in,學會用exists,效率更高
因為它利用到了index
或者isnull(x,'')=''做查詢
如果是大量數據,建議給個默認值,有助於提升查詢速度,我個人不喜歡用in,學會用exists,效率更高
因為它利用到了index
#4
isnull(?,'')=''
#5
学习了~
#6
关于第三个问题 过滤的时候没有disablecontrol哦,其他问题正在测试
先谢谢了
先谢谢了
#7
继续顶,比较急的问题,还请各位高抬贵手
#8
问题 1 2 5已解决,非常感谢,还有 3 4望大家帮帮忙