国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

存儲過程中調(diào)用C#寫的DLL

2024-07-21 02:29:02
字體:
供稿:網(wǎng)友

最近一個項目中遇到一個轉(zhuǎn)換filetime的問題.時間是在c#中用datetime.tofiletime寫入數(shù)據(jù)庫中,這在存儲過程中判斷年和季度成了問題,怎么樣才能把時間轉(zhuǎn)換為正常的時間格式呢?sql server中又沒有fromfiletime對應(yīng)的方法?其實(shí)很簡單用c#寫一個轉(zhuǎn)換時間的dll然后在存儲過程中調(diào)用就可以了.
轉(zhuǎn)換時間的類如下:
[guid("729ba6af-3eff-4b75-b43b-d951a190dbe6")]
 public class filetimeconvert
 {
  public filetimeconvert()
  {
  }
 
  public string converttime(long filetime)
  {
   string retval = string.empty;
   if (filetime > 0)
   {
    datetime dt = datetime.fromfiletime(filetime);
    retval = dt.tostring();   
   }
   return retval;
  } 
 }
注意這個guid我們在存儲過程中引用要用到這個guid.

為方便可能在多處需要調(diào)用,我們專門寫一個存儲過程
如下:

create  procedure  spu_convertfiletimetonormal
 @ticks bigint,
 @returnval  varchar(40) output
 as

declare @src varchar(255)
declare @desc varchar(255)


declare @object int
declare @hr int
exec @hr = sp_oacreate '{729ba6af-3eff-4b75-b43b-d951a190dbe6}',@object out

if @hr = 0 --如果創(chuàng)建對象成功
  begin
  exec @hr = sp_oamethod @object,'converttime',@returnval out,@ticks
      print @returnval
      print @hr
  if(@hr <> 0)
   begin
       exec sp_oageterrorinfo @object, @src out, @desc out
    select hr=convert(varbinary(4),@hr), [email protected], [email protected]
   end
  
  end

 else
  begin
   --print  @hr
   print 'create object converttime failed'
 
     exec sp_oageterrorinfo @object, @src out, @desc out
     select hr=convert(varbinary(4),@hr), [email protected], [email protected]
     return
  end

 exec @hr = sp_oadestroy @object

 if @hr <> 0
 begin
    exec sp_oageterrorinfo @object
    return
 end

go

這個時候我們還差最后一步注冊dll了
在.net 命令行下輸入 regasm -codebase path

好了,現(xiàn)在我們就可以在其他存儲過程中調(diào)用這個存儲過程返回正常的時間了.
給個小例子:
exec spu_convertfiletimetonormal @createtime,@normaltime out   
@createtime:filetime格式
@normaltime :正常的時間格式字符串(spu_convertfiletimetonormal 存儲過程返回值)

這個簡單的小例子說明了我們怎么樣在存儲過程中調(diào)用dll
是不是你解決問題又多了一個選擇了呢?

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 三河市| 兴文县| 黄大仙区| 呼图壁县| 蒲城县| 永顺县| 惠州市| 云林县| 长沙市| 贵定县| 巧家县| 巴南区| 和田市| 阜新| 泾源县| 安宁市| 南城县| 安吉县| 尖扎县| 辉南县| 兴业县| 军事| 桃江县| 南木林县| 迁安市| 镇康县| 崇左市| 安溪县| 淮阳县| 公安县| 南召县| 奉贤区| 特克斯县| 镇雄县| 西平县| 佛教| 瓮安县| 顺义区| 英超| 台南县| 县级市|