搜尋此網誌

2012年3月10日 星期六

部署Crystal Report for ASP.NET 2.0


web server要安裝什麼才能正常運作crystal report?

我們在另外一台電腦安裝Web專案時,如果有用到Crystal Report,則必需要在Server端安裝CRRedist2005_x86.msi 及 CRRedist2005_x86_cht.msi 二支檔案。

如果有VS 2005的光碟,則可以選擇自訂安裝來安裝Crystal Report 10

如果沒有光碟,可以使用以下方法完成

1.開啟VS 2005
2.選擇「檔案」-->「新增專案」-->選擇「其他專案類型」-->「安裝和部署」
3.選擇「Web安裝專案」
4.名稱就先取做 "WebSteup1"吧,按下確定產生專案(記一下專案位置)
5.在方案總管選擇專案名稱後按右鍵 -->「屬性」
6.Click「必要條件」,然後打勾 Crystal Report for .NET Framework 2.0
7.重建專案

然後到專案目錄下的Debug\CrystalReports裡,就會看到有二個安裝檔CRRedist2005_x86.msi及CRRedist2005_x86_cht.msi,把這二個檔copy到伺服器裡安裝即可。

測試解法無誤

2012年3月6日 星期二

T-SQL取時間的年月日



經常保存在SQL Server的datetime格式的數據都是帶有時、分、秒等的。但是在頁面讀取的時候,通知只需要年月日,
今天用到的讀取時間年月日的方法如下:
view plaincopy to clipboardprint?
convert(varchar(12),時間列名,111)

如在數據表table1中的列operdate是datetime格式的,需要讀取operdate的年月日的方法就是
view plaincopy to clipboardprint?
select convert(varchar(12),operdate,111) from table1

只抓年、月、日: YEAR(), MONTH(), DAY(); 裡面參數放要抓的時間

-=================================================
--SQL中取得時間的一些技巧
--*********時間精確3毫秒*****************
--================================================ =
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

select DATEDIFF(mm,0,getdate())

SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)


--------------當天半夜---------------------------------- ----------
SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

--------------最後一天---------------------------------- ----------
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))
SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())),0)


----------去掉時分秒----------------------------
declare @a datetime
set @a = getdate()
SELECT @a,DATEADD(day,DATEDIFF(day,0,@a),0)

----------顯示星期幾----------------------------
select datename(weekday,getdate())

----------如何取得某個月天數-------------------
declare @m int
set @m=3 --月份
select datediff(day,'2006-'+cast(@m as varchar)+'-15' ,'2006-'+cast(@m+1 as varchar)+'-15')

----------或者使用計算本月的最後一天的腳本,然後用DAY函數區最後一天
SELECT Day(dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)))

----------判斷是否閏年:------------------------
SELECT case day(dateadd(mm, 2, dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)))) when 28 then '平

年' else '閏年' end

select case datediff(day,datename(year,getdate())+'-02-01',dateadd(mm,1,datename(year,getdate())+'-02-

01'))
when 28 then '平年' else '閏年' end

----------一個季度多少天------------------------
declare @m tinyint,@time smalldatetime
select @m=month(getdate())
select @m=case when @m between 1 and 3 then 1
when @m between 4 and 6 then 4
when @m between 7 and 9 then 7
else 10 end
select @time=datename(year,getdate())+'-'+convert(varchar(10),@m)+'-01'
select datediff(day,@time,dateadd(mm,3,@time))


SELECT CONVERT(VARCHAR(8), DATEADD(m, DATEDIFF(m, '', getdate()), ''), 112) AS [月初]
select CONVERT(VARCHAR(8), DATEADD(m, -3, getdate()), 112) AS [三個月前]