用 Binary ,Image 類型存儲日期 (mssql) 並讀取出來

今天看到CSDN上一個網友問的問題,寫下了這段代碼:

 

我的问题是:SQL SERVER中用binary类型存储的日期,我想用delphi开发软件通过adoquery控件在查询出的记录,在dbgrid表格中显示出具体的发生日期和时间。例如在SQL SERVER中binary的期是0x01C969D24ED59A80,而在dbgrid表格中显示的格式为2008年11月11日14时22分22秒456毫秒。

 

 

測試表結構:

SQL code
   
   
create table test(A int ,b image )

 

Delphi(Pascal) code
   
   
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB; type TForm1 = class(TForm) ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end ; var Form1: TForm1; implementation { $R *.dfm } procedure TForm1.Button1Click(Sender: TObject); var a : TUnicodeEncoding; vBin : TBytes; begin a : = TUnicodeEncoding.Create; vBin : = a.GetBytes(DateTimeToStr(now())); adoquery1.Close; adoquery1.SQL.Text : = ' select * from test ' ; ADOQuery1.Open; adoQuery1.Append; ADOQuery1.FieldByName( ' a ' ).Value : = 1 ; TBlobField(ADOQuery1.FieldByName( ' b ' )).Value : = vBin; ADOQuery1.post; end ; procedure TForm1.Button2Click(Sender: TObject); var a : TUnicodeEncoding; vBin : TBytes; begin a : = TUnicodeEncoding.Create; adoquery1.Close; adoquery1.SQL.Text : = ' select * from test ' ; ADOQuery1.Open; vBin : = TBlobField(ADOQuery1.FieldByName( ' b ' )).Value ; showMessage(a.GetString(vBin)); end ; end .
 
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值