还有如何关闭rs(Recordset)和cn(connection),比如vb中
rs.close
cn.close
set rs=nothing
set cn=nothing
在DELPHI中该如何实现,原谅我是DELPHI新手!

解决方案 »

  1.   

    var
     query:Tquery
      Adocon:TAdoconnection
    begin
     Query:=Tquery.create(self) ;
     Query.close;
     Adocon:=TAdoconnection.create(self);
     Adocon.close 
     
    end;
     大概如此吧
      

  2.   

    昏菜啦吧!
    dim str as string,TName as string
    dim cn as new adodb.connection
    dim rs as new adodb.recordset
    cn.open ""
    rs.open "select * from table"
    if  rs.recordcount<>0 then
    for i=0 to rs.recordcount-1 
    rs.movefirst
    TName=rs.fields(0)
    ...
    rs.movenext
    next
    ...
    、、、、、、、、、、、、、、、
    var
     Constr:WideString;
     Cnn:TADOConnection;
     DataSet:TADODataSet;
     Str,TName:String;
    begin
    ConStr='...'; 
    Cnn:=TADOConnection.Create(nil);
     DataSet:=TADOConnection.Create(nil);
    try
     Cnn.ConnectString:=Constr;
     Cnn.Open;
     DataSet.Connection:=Cnn;
     DataSet.CommandText:='select * from table';
     DataSet.Open;
     while not DataSet.Eof do
     begin
      TName=DataSet.fields.Field[0].Value;
      DataSet.Next;
     end;
    finnaly
      Cnn.Free;
      DataSet.Free;
     end; 
     
    end;
    //Delphi标准;
    ‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘
    var 
    str,TName : string
     cn:Varaint;
     rs:variant;
    begin
    cn:=CreateOleObject('ADODB.ADOConnection');
    rs:=CreateOLEObject('ADODB.RecordSet');
     cn.open( "")
    rs.open( "select * from table",cn);
    if  rs.recordcount<>0 then
    for i:=0 to rs.recordcount-1  
      begin
      rs.movefirst
      TName:=rs.fields(0)
       ...
       rs.movenext
       end 
    end;
    ===========================================
    楼主的VB代码错误啊!◎嘻嘻
      

  3.   

    上面的代码的一段是Delphi提供封装的ADO类,下面一个是模拟你在VB的用法的Delphi版,h