为什么建议以下列方式在Delphi中处理sql-query?:
dataset.close(); // ?????
dataset.sql.clear(); // old sql-query gets deleted
dataset.sql.add('your sql-query'); // here a query-String is added to your sql-object
dataset.open(); // here your sql-query starts to work
是否可以关闭sql-Object每次都会定义一个默认状态,通过该状态删除前一个sql-query产生的前一个数据集?
答案 0 :(得分:2)
当您打开数据集时,它会启用活动连接,假设您的数据库/驱动程序支持此操作。有些数据库连接是保持活动状态,有些则不是。对于那些,Open
过程启用与数据库的开放连接,在这种情况下,您可以使用数据集动态编辑该数据。因此,当您Close
数据集时,这通常会关闭打开的内容。请注意,TDataset
会继承到其他更具体的类型,其中许多都需要Open
/ Close
个过程。
关闭数据集也会使其中包含的数据无效,因此也不再提供该数据。您的查询将保留在那里,但数据将不再可用于读/写。