W
wanyingsong
Unregistered / Unconfirmed
GUEST, unregistred user!
我写了个函数返回DataSet,不知道返回的这个DataSet是不是一定要释放?<br>函数是<br>function ExecSql(Sql:string):TDataSet;<br>var qry:TAdoquery;<br>begin<br> qry:=Tadoquery.create(nil);//是用nil呢?还是self?还是application?有什么区别<br> qry.Connection:=adoconnection1;//这个conn已经设置好的<br> qry.sql.add(sql);<br> result:=qry.open;<br>end;<br><br>procedure UserDataset;<br>var ds:Tdataset;<br>begin<br> ds:=execsql('select * from sysobjects');<br> showmessage(inttostr(ds.recordcount));<br> ds.free; //要不要free,如果不free退出这个过程后它会不会自己free掉?<br>end;<br><br>procedure UseDataset2;<br>begin<br> showmessage(inttostr(execsql('select * from sysobjects').recordcount));<br> //那这个呢?dataset是不是释放掉了<br>end;