Variant TSQLTimeStamp and SOAP

3 views
Skip to first unread message

电脑玩家

unread,
Oct 12, 2009, 6:25:23 AM10/12/09
to 挨踢技术
Delphi 7 的 Help 里说 Variant 类型的数据可以直接在 SOAP 里使用。的确包括
ClientDataSet.Delta 在内的很多种 Vairant 类型的数据都可以直接用在 SOAP 的接口函数里,测试都没问题。

但是,一个 TSQLTimeStamp 类型的数据,如果要转换为 Variant,可以用:

VarSQLTimeStampCreate 这个方法来转换获得。HELP 里面这样描述:

procedure VarSQLTimeStampCreate(var aDest: Variant; const
ASQLTimeStamp: TSQLTimeStamp); overload;
function VarSQLTimeStampCreate: Variant; overload;
function VarSQLTimeStampCreate(const ASQLTimeStamp: TSQLTimeStamp):
Variant; overload;
function VarSQLTimeStampCreate(const AValue: TDateTime): Variant;
overload;
function VarSQLTimeStampCreate(const AValue: string): Variant;
overload;

经过测试,的确可以获得一个 SQLTimeStamp 类型的 Variant,但如果把这个 Variant 用于 WebService 的
SOAP 接口函数,服务器端在输出数据的时候会出异常,提示类型不认识。

因此,这里最好还是转换为 DateTime 在 SOAP 接口函数里传送。

Reply all
Reply to author
Forward
0 new messages