2009年12月27日 星期日

FileManager From CodePlex

FileManager是CodePlex下的一個套件,主要使用來管理web上面的檔案,雖然說是Manager,但是預設來說功能並不是太強大,目前我所知道的功能如下
  1. 瀏覽該WebAP(網站應用程式)下的所有檔案及目錄
  2. 複製檔案
  3. 刪除檔案
  4. 移動檔案
  5. 下載檔案
  6. 更改檔案名稱

2009年12月23日 星期三

LINQ 學習資源整理


ScottGu's Blog:
LINQ to SQL Basic
  1. Using LINQ to SQL (Part 1)
  2. LINQ to SQL (Part 2 - Defining our Data Model Classes)  
  3. LINQ to SQL (Part 3 - Querying our Database)  
  4. LINQ to SQL (Part 4 - Updating our Database)  
  5. LINQ to SQL (Part 5 - Binding UI using the ASP:LinqDataSource Control)  
  6. LINQ to SQL (Part 6 - Retrieving Data Using Stored Procedures)  
  7. LINQ to SQL (Part 7 - Updating our Database using Stored Procedures)  
  8. LINQ to SQL (Part 8 - Executing Custom SQL Expressions)  
  9. LINQ to SQL (Part 9 - Using a Custom LINQ Expression with the control)  

2009年12月22日 星期二

LINQ Deferred VS Immediate Data Loading

使用LINQ To SQL的時候,預設的行為是Deferred Loading,意思是說當你下了一段LINQ時,程式並不會馬上對後端的資料庫進行讀取的行為,而是等到你對LINQ的結果集進行存取的時候才會對後端資料庫進行存取。範例如下

       var q = from c in context.Employees
                select new { c.FirstName, c.EmployeeID, c.City, c.Country};

        
        GridView1.DataSource = q;
        GridView1.DataBind();  //執行DataBind的時候才會真的對後端資料庫進行讀取的動作



2009年12月12日 星期六

ASP.NET WebSite VS Web Project (WebApplication)

昨天看一篇文章的時候,作者使用WebApplication,我突然有點confuse,一般來說使用Visual Studio開發Web通常選的是建立WebSite,雖然我知道有WebApplication的選項可以選擇,不過卻一直沒去理會它,這兩個的差異到底在哪呢?

2009年12月11日 星期五

GridView 的RowIndex


用GridView好一陣子了,之前都會搭配ObjectDataSource一起使用,所以在使用Update Command的時候,只需要ObjectDataSource中有對應的Update Method就可以很容易執行Update的方法,這中間躲掉了一個如果我想要點選自訂Command的按鈕時,該如何才能輕鬆抓到RodIndex的問題。

2009年11月22日 星期日

Cliend-Side Report (RDLC) Group

首先我想要使用Group的功能解決使用SQL的Rollup的功能,相關功能介紹可以參照 [Oracle]Group By Rollup Function介紹 該文章中提到使用Rollup可以做到總計及特定群組小計之功能,這樣的功能其實如果你不懂如何使用SQL的Rollup也可以使用RDLC中的Group來做到。

2009年11月20日 星期五

使用Client-Side Report (RDLC) 建立固定筆數的資料表

在上一個例子中,我們使用SQL來產生固定筆數的資料,而在這裡,我們將使用上一篇文章的SQL來建立報表,首先建立Strongly Typed DataTable如下


T-SQL 製造空資料 -- 應用RowNumber() 函式

這兩天有一個製作報表的需求,主要是為了在資料表中呈現出12資料,但問題是不管資料有沒有夠12筆,都需要補足這12個表格(Row),如下圖

2009年11月12日 星期四

Client-Side Report 與 ASP.NET 互動

這篇文章會介紹ASP.NET如何與 RDLC互動,而這裡主要會著重在資料來源的搜尋條件,底下是使用例子的RDLC檔畫面如下

Cliend-Side Report 匯出 Excel, PDF

一般來說,我不喜歡把工具列顯示給使用者看,主要是因為工具列中在【匯出】的下拉式選單中會出現excel即pdf兩種格式,我不想要把這樣的資訊給使用者知道,因為使用者的欲望總是無窮,看到這兩個之後,就會問說:【下拉式選單中能幫我多一個word,tiff,etc】,所以可以的話儘可能不要讓使用者看到。

2009年11月8日 星期日

.NET Client-Side Report List (清單)

清單其實就是資料表的延伸運用,在清單中可以自由排列【文字方塊】、【影像】、【圖表】等等元件,資料呈現的時候會跟資料表相同,以逐筆呈現的方式來呈現資料,但資料個排版方式則是看在清單中的元件如何擺設所決定。底下是清單於設計畫面中的圖示呈現

.NET Client-Side Report Table (資料表)

Table(資料表)算是比較常使用的元件,適合用來呈現資料的烈表式的明細資料,屬於一維的呈現。在RDLC的設計畫面中,加入新資料表後,畫面如下

2009年11月6日 星期五

.NET Client-Side Report

相信很多人都不知道什麼是Client-Side Report,不過卻有很多人已經在用它了,在微軟的.NET 2.0之後,出現了一個叫做ReportViewer的元件,如下圖

2009年11月4日 星期三

blogger的圖片不見了

現在才發現我的【利用ReportViewr轉秩資料】這篇文章的前三個圖片都不見了,不知道blogger是怎麼管理圖片的。

2009年11月3日 星期二

怎麼把GAC區中的DLL拿出來

這兩天要安裝一個用VS 2003開發的.NET專案,原本想說是一件很簡單的事情,不就是把專案拿來,放到IIS上,確定.NET Framework 1.1以及service pack有掛上去就一定OK了,沒想到第一個問題馬上讓我遇見,這個專案使用了 IE Web Control  ,原本以為網路上隨便就可以找到這個元件了,沒想到網路上的元件最後的版號都是226,而該專案使用的卻是116,我其實想說新版本應該要可以相容於舊版本的,不過程式就是很不給面子死不過去,為了這件事情,我還特別跑去原本放專案的Server(還進機房><),進GAC中去確認版次。
GAC的畫面,位於Windows\Assembly,如下圖


這下子好了,網路上根本已經沒有這個版次的DLL了,而在Server上的DLL又被註冊到GAC區中,這真是考倒我了(上面那個視窗中,並沒有任何方式可以把DLL匯出或複製出來)。還好我以前學過Java的,我判斷這種放在最大的Global中的Lib應該都還是有實體的檔案存在才對,上Google爬了一下,發現居然可以使用Console模式進入到該路徑中,如下圖

進入到 Windows\assembly\GAC中之後,打dir指令,可以看到GAC中所有被註冊的DLL以[DIR]的形式存在,想當然爾我們就在使用指令進入,例如我想要再進入 System.xml中
如上圖,進入後還會再有一個以特殊命名方式的資料夾,我們再進入該資料夾後,如下圖

此時就可以看到該dll了,這個時候使用copy指令就可以把這個dll複製出來了。也算是這一次遇到問題的小收穫。

2009年10月26日 星期一

ReportViewer 轉秩資料

最近一直有同事在做BI相關的技術,之前問了我一個問題,是一個標準的資料轉秩(PIVOT)問題,這種問題在SQL 2005之後有新的T-SQL語法可以解決,請參考使用 PIVOT 和 UNPIVOT。 不過在沒有這個語法之前,怎麼解決這種問題呢? 先賣個關子^^ 今天先使用ReportViewer中的rdlc設計,來解決資料轉秩的問題。使用Visual Studio加入報表*.rdlc檔後,VS 會自動進入設計畫面,如下所示:

2009年10月23日 星期五

用了一個新方式來使用SyntaxHighlighter 感謝德瑞克:SQL Server 學習筆記 JAVA C# SQL