亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

存儲過程中調用C#自定義封裝的DLL

系統 2042 0
項目中遇到一個轉換FileTime的問題.時間是在C#中用DateTime.ToFileTime寫入數據庫中,這在存儲過程中判斷年和季度成了問題,怎么樣才能把時間轉換為正常的時間格式呢?Sql server中又沒有FromFileTime對應的方法?其實很簡單用C#寫一個轉換時間的Dll然后在存儲過程中調用就可以了.
轉換時間的類如下:
[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.

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

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 --如果創建對象成功
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), Source=@src, Description=@desc
??? 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), Source=@src, Description=@desc
???? RETURN
END

EXEC @hr = sp_OADestroy @object

IF @hr <> 0
BEGIN
??? EXEC sp_OAGetErrorInfo @object
??? RETURN
END

GO

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

好了,現在我們就可以在其他存儲過程中調用這個存儲過程返回正常的時間了.
給個小例子:
EXEC spu_ConvertFileTimeToNormal @CreateTime,@NormalTime OUT???
@CreateTime:FileTime格式
@NormalTime :正常的時間格式字符串(spu_ConvertFileTimeToNormal 存儲過程返回值)

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

轉自: http://www.cnblogs.com/dcba1112/archive/2011/05/12/2044849.html

存儲過程中調用C#自定義封裝的DLL


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美国产成人一区二区三区 | 亚洲精品永久一区 | 国产女人伦码一区二区三区不卡 | 国产真实伦视频在线视频 | 欧美成人四级hd版 | 九九99久久精品在免费线bt | 国产成+人+亚洲+欧美综合 | 一a一片一级一片啪啪 | a级高清观看视频在线看 | 国产亚洲欧美日韩v在线 | 奇米影视88888 | 久热草视频 | 奇米色视频 | 亚洲欧洲精品视频 | 天天爽天天 | 久久夜色精品国产欧美 | 伊人网五月天 | 综合视频网 | 97影院午夜午夜伦不卡 | 荡女人人爱np粗口 | 天天干夜夜爽 | 91手机看片国产永久免费 | 欧美日中文字幕 | 天天操夜夜操免费视频 | 在线看片777av免费观看 | 性做久久久久久久久男女 | 日韩毛片在线看 | 老司机午夜影院 | 久久精品国产99久久久 | 欧美日韩国产片 | 久久频精品99香蕉国产 | 五月婷婷亚洲 | 精品国产福利 | 国产精品精品国产一区二区 | 亚洲乱码视频在线观看 | 日韩中文字幕久久精品 | 狼人综合伊人 | 国产亚洲一区二区三区在线 | 亚洲图欧美色综合图 | 元龙第三季免费观看 | 日本精品视频一视频高清 |