在SQL语言中,一些命令在执行后,其结果必然要返回一个数据集。这样的命令,如“Select”,无论你的查询条件是什么,当执行了“Select”语句必定要返回一个数据集,以示查询结果。
事物往往是相对出现,另外有些命令在执行后,不需要返回一个数据集。这样的命令,包括“Insert、Delete、Update”等。如“Delete”删除记录,当执行该命令后,它删除一个或一批记录并不返回一个数据集。ADO命令构件专门用于执行不需要返回数据集命令。而需要返回命令数据集的命令,通常用ADO查询构件执行。
ADO命令通过“数据库”属性,直接与ADO数据库连接构件链接,利用“命令文本”属性写入SQL命令或读取含有SQL语句的文本文件。由于ADO命令不返回一个数据集,所以它不需要与数据源构件连接使用。
现在假定在“学生库”中有“基本情况”和“临时_基本情况”两张数据表。“基本情况”表是“学生库”数据库的主表,它里面的数据是不容有错误的。“临时_基本情况”表的表结构与“基本情况”完全相同,它是一张临时表。在项目运行当中,有时对“基本情况”进行删除、修改等操作,而在完成某一项功能后,还需要恢复数据到原来的状态,这样就需要用一张临时表来代替主表。
那么在应用临时表时,必然将主表记录全部复制到临时表中,而且在复制记录之前,临时表中或许还残存有上一次操作的的部分记录,在复新导入记录前,应将这些记录删除。因此我们下面的实例,完成两个功能,第一删除临时表的所有记录,第二将主表记录全部复制到临时表中。
SQL命令的表达式:
① delete from 临时_基本情况;
② insert into 临时_基本情况 select * from 基本情况;
因为有两项功能,因此需要两个ADO命令与之对应。把两条SQL命令表达式,分别写入两个ADO命令的“命令文本”中,假定ADO命令1用于删除记录,ADO命令2用于复制记录。
当单击“导入”按钮时,事件设置如图所示。

此主题相关图片如下: