發表文章

目前顯示的是 5月, 2012的文章

[MS SQL] MS SQL 2000 分頁

MS SQL 2005 以後要做分頁,有ROW_NUMBER() 可用, 但有些案子還是用SQL 2000,所以可以用以下的方式做分頁。 --產生測試資料--------------------------- CREATE TABLE #myTable( myID int IDENTITY(1,1) NOT NULL, myName nvarchar(10), visitTimes int ) INSERT INTO #myTable SELECT 'MIB星際戰警',5000 UNION ALL SELECT '記得愛記得愛',6000 UNION ALL SELECT '愛‧重來',500 UNION ALL SELECT '瀕臨邊緣的人',5421 UNION ALL SELECT '愛情大凸搥',45613 UNION ALL SELECT '大開影界全球',1247 ---------------------------------------- DECLARE @PageSize int, @PageIndex int; SET @PageSize = 3; --分頁大小 SET @PageIndex = 0; --第0+1頁(分頁索引,從0開始) CREATE TABLE #TmpTable( ID int IDENTITY (1,1) NOT NULL, myID int ) INSERT INTO #TmpTable SELECT myID FROM #myTable ORDER BY visitTimes DESC SELECT TT.ID, mT.myName, mT.visitTimes FROM #TmpTable TT INNER JOIN #myTable mT ON TT.myID = mT.myID WHERE TT.ID BETWEEN (@PageIndex * @PageSize + 1) AND ((@PageIndex+1)*@PageSize) ORDER BY TT.ID ASC DROP TABLE #myTable DROP TABLE #TmpTable

[ASP.NET] 強制下載檔案

.NET 強制下載檔案的三種方式。 public class Utility { /// <summary> /// 強制下載實體檔案 /// </summary> /// <param name="WebForm">傳Page進來</param> /// <param name="FileNameWhenUserDownload">要存檔的檔名(不用完整路徑)。</param> /// <param name="FilePath">實體檔案完整路徑+檔名。EX:D:/Download/Files/xxx.zip</param> /// <param name="contentType">丟空字串表示用預設:"octet-stream"。下載excel請用"vnd.xls"</param> public void DownloadPhysicalFile(System.Web.UI.Page WebForm, string FileNameWhenUserDownload, string FilePath) { try { WebForm.Response.ClearHeaders(); WebForm.Response.Clear(); WebForm.Response.Expires = 0; WebForm.Response.Buffer = true; string fileName = FileNameWhenUserDownload; if (WebForm.Request.Browser.Browser == "IE") { fileName = System.Web.HttpUtility.Url

[jQuery] 筆記

javascript: 設定元素的display document.getElementById( 'spanUserNameCH').style.display = ""; document.getElementById( 'spanUserNameCH').css("display", "none"); 取得img src 的檔案名稱包括副檔名: html: <img id = "img1" src="/images/icon01.gif" alt="img1"/> jQuery: var img = $("#img1").attr('src').split("/").pop();

[MS SQL] 將輸入的時間(分、秒)轉換成中文時間的函數

分享一個時間轉換函數,能將輸入的分鐘或秒數轉換為中文時間。 (適用MS SQL Server 2005 或以上) EX: 86分 轉換為 1時26分 EX: 93秒 轉換為 1分33秒 -- ================================================= -- Author: <huayu.lee> -- Create date: <2012/05/16> -- Description: <時間轉換函數> -- 參數 @Format: <要轉換的參數的格式('MI','N':分鐘;'S':秒> -- 參數 @intTime: <要轉換的參數> -- Return: x時x分x秒 -- ================================================= ALTER FUNCTION [dbo].[uf_TimeTransToChinese] ( @Format nvarchar(2),@intTime int ) RETURNS nvarchar(20) AS BEGIN DECLARE @ResultVar nvarchar(20) DECLARE @hh int, @mm int, @ss int; IF(@Format = 'S') BEGIN --輸入為秒(秒 -> 時分秒) SET @ResultVar = CONVERT(nvarchar,DATEADD(S,@intTime,0),108); END ELSE IF (@Format = 'MI' OR @Format = 'N') BEGIN --輸入為分(分 -> 時分秒) SET @ResultVar = CONVERT(nvarchar,DATEADD(MI,@intTime,0),108); END SET @hh = DATEPART(HOUR,@ResultVar); SET @mm = DATEPART(MI,@ResultVar); SET @ss = DATEPART(S,@ResultVar);

[MS SQL] 常用函數紀錄

1. 整理MS SQL Server 2005 以後版本,取得日期中年月日...等的方法 --MS SQL Server 2005 以後取得日期中年月日等的方法 --取得年 SELECT DATEPART(YYYY,getdate()); --取得月 SELECT DATEPART(M,getdate()); --取得日 SELECT DATEPART(D,getdate()); --取得一年中的第幾天 SELECT DATEPART(DAYOFYEAR,getdate()); --取得小時部分(24小時制) SELECT DATEPART(HOUR,getdate()); --取得分 SELECT DATEPART(MI,getdate()); --取得秒 SELECT DATEPART(S,getdate()); 2. 整理 MS SQL Server 日期格式轉換的方法 -- 05 16 2012 8:42PM SELECT CONVERT(varchar(50), GETDATE(), 100) -- 05/16/2012 SELECT CONVERT(varchar(12), GETDATE(), 101) -- 2012.05.16 SELECT CONVERT(varchar(12), GETDATE(), 102) -- 16/05/2012 SELECT CONVERT(varchar(12), GETDATE(), 103) -- 16.05.2012 SELECT CONVERT(varchar(12), GETDATE(), 104) -- 16-05-2012 SELECT CONVERT(varchar(12), GETDATE(), 105) -- 16 05 2012 SELECT CONVERT(varchar(12), GETDATE(), 106) -- 05 16, 2012 SELECT CONVERT(varchar(12), GETDATE(), 107) -- 20:42:39 SELECT CONVERT(varchar(12), GETDATE(), 108) -- 05 16 2012 SELECT CONVERT(varchar(12), GETDATE(),

[MS SQL] 字串分割後轉成Table

之前在網路上找到一個資料庫函數,還蠻常用到的,寫下來記錄一下。 (因為時間太久實在忘記出處了,若知道者請告知一下,我會馬上註明出處。) 輸入字串:A001,A002,A003 輸  出: sno    data ------------ 1       A001 2       A002 3       A003 CREATE Function [dbo].[uf_split_str] ( @InStr nvarchar(2000) , --@InStr: 輸入字串。EX: A001,A002,A003 @s_char nvarchar(1) --@s_char: 分割字元。EX: ',' ) Returns @tb Table ( sno int , data nvarchar(100) ) As Begin Set @InStr = @s_char + @InStr + @s_char; Declare @p1 Int , @p2 Int , @data nvarchar(100) , @sno int; Set @p1 = -1 ; Set @p2 = -1 ; Set @data = '' ; Set @sno = 0; While ( 0 Not In (@P1,@P2) ) Begin Set @p1 = CharIndex(@s_char,@InStr,@p1+1); Set @p2 = CharIndex(@s_char,@InStr,@p1+1); If ( 0 In (@p1,@p2) ) Break; Set @data = SubString(@InStr,@p1+1,@p2-@p1-1); if ( @data <> '' ) Begin Set @sno = @sno +1; Insert Into @tb ( sno , data ) Values ( @sno , @data ) End End Return End

[ASP.NET] 在Google Blog貼程式碼(使用SyntaxHighlighter)

圖片
1. 登入 > 設計 > 範本,選 "修改HTML" 2. 在</head>上面貼上下列程式碼: <link href='http://alexgorbatchev.com/pub/sh/2.1.382/styles/shCoreDefault.css' rel='stylesheet' type='text/css'/> <link href='http://alexgorbatchev.com/pub/sh/2.1.382/styles/shCore.css' rel='stylesheet' type='text/css'/> <link href='http://alexgorbatchev.com/pub/sh/2.1.382/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/> <script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shCore.js' type='text/javascript'/> <script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushCSharp.js' type='text/javascript'/> <script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushXml.js' type='text/javascript'/> <script src='http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushJScript.js' type='text/javas

[ASP.NET] Gridview動態增加欄位與Null值處理

.CS //... StringBuilder strSql = new StringBuilder(string.Empty); strSql.Append("usp_UserReportDownLoad"); SqlCommand cmd = new SqlCommand(strSql.ToString()); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@BDate", BDate); cmd.Parameters.AddWithValue("@EDate", EDate); DataTable dt = DB.GetDataTable(cmd); //依據回傳的DataTable,動態增加欄位。 //第一欄固定,所以從第2欄開始 for (int i = 1; i < dt.Columns.Count; i++) { BoundField oBF = new BoundField(); oBF.DataField = dt.Columns[i].ColumnName; oBF.HeaderText = dt.Columns[i].ColumnName; oBF.NullDisplayText = "0"; //NULL值處理 this.GridView1.Columns.Add(oBF); } this.GridView1.DataSource = dt; this.GridView1.DataBind();