请问关于 ADO原生类 的数据转换问题?(100分)

  • 主题发起人 主题发起人 程序小子
  • 开始时间 开始时间

程序小子

Unregistered / Unconfirmed
GUEST, unregistred user!
Conn := CreateOleObject("Adodb.Connection");
..
rs := CreateOleObject("Adodb.RecordSet");
rs.Open 'Select Top 9999 * from [user] order by id',Conn,1,1
while Not rs.Eof do
begin
id字段是整数
rs.fields['id'].Value 是一个Variants型变量
如果要转换成 String行可以这样.
str := varToStr(rs.fields['memo'].value) + 'abcd';
但如果要转换成 Float,Integer,DateTime等等 怎么办,有没有人知道 Table1.FieldByName('Name').AsString; 这些是怎么实现的,我该怎么转换

rs.MoveNext;
end;
 
我定义的 Connection 类,也想把 RecordSet定义一个类,可以实现 rs.Fields['Name'].AsString
TCustomConnection = class(TObject)
private
FConn : Variant;
FConnected: Boolean;
public
constructor Create;
destructor Destroy; override;
procedure Open(ConnStr: String); overload;//要的
procedure Close;
property Connected: Boolean read FConnected write FConnected default False;
end;

constructor TCustomConnection.Create;
begin
FConn := CreateOleObject('Adodb.Connection'); //创建ADO对象
inherited Create;
end;

destructor TCustomConnection.Destroy;
begin
if FConnected Then FConn.Close;
inherited Destroy;
end;



procedure TCustomConnection.Open(ConnStr: String);
begin
FConnected := True;
FConn.Open(ConnStr);
end;

procedure TCustomConnection.Close;
begin
FConnected := False;
FConn.Close;
end;
 
后退
顶部