在查询窗口里,我想把查询出的结果保存到该数据库里并建立一个新的数据表,如何实现?谢谢各位高手帮助!
目前我使用查询的方法主要是在数据库中事先建立一个临时数据表(比如temp),假如有一个“交易表”,我们要查询某个客户一段时间内的交易总金额,我们在ADO查询构件中可以使用SQL查询语句“select sum(金额) as 合计金额 from 交易表 where 客户号=:当前客户 and 交易日期>=:开始日期 and 交易日期<=:结束日期 ” 在ADO查询构件的查询事件中设置把相关客户信息以及查询得到的合计金额等赋值给temp表(使用ADO数据表构件)的相关字段即可。
在项目窗口关闭事件中可以设置删除TEMP表中的所有数据。这样可以保证每次打开项目时temp表中的数据都为空。
对于一个临时表提供给多个不同的查询使用时,要注意以下几点:
1、保证临时表字段足够用;
2、注意字段的类型,比如如果是字符型的字段尽管能够显示查询数据,但是在打印报表时不会自动计算合计数,因为不是数字型字段。
3、如果在查询以后进行赋值时,临时表的字段没有使用完,就是有字段空闲,最好把空值“”赋值给空闲字段,否则在执行时会出现问题。
4、在临时表中尽可能事先设置好需要使用的字段类型,比如数字型。当使用临时表时可以选择使用。(这样可以保证报表打印正常)
当然也可以动态建立和删除临时表,这要使用SQL语言在查询执行时进行设置。稍微复杂一些。你可以参考搭建之星帮助中的SQL相关内容或者看一些SQL方面的书籍。
简单一点的方法是,字段内容复制。新表中的表结构与源表要相同,然后,提取源表字段内容复制到新表中即可。具体可参考使用手册——数据复制与删除——多字段复制。实例可参考“劳动服务管理系统”。jjb,如你的光盘中没有该实例,可来信说明,我发一个给你。