ASP.NET 2.0 Study web site and .NET Framework SDK
以上兩個都是比較早期.NET Framework 2.0的資料,還可以下載離線安裝正體中文版:Microsoft .NET Framework 2.0 軟體開發套件 (SDK) (x86)、Microsoft .NET Framework 2.0 軟體開發套件 (SDK) (x64),但安裝它有個問題,它使用的是MS SQL Server 2005 Express資料庫,重點是它的執行個體名稱「SQLEXPRESS」無法改變,這會讓後續在安裝Visual Studio 2008 / 2010或MS SQL Server 2008 (R2) Express有點困擾。
在入門知識了解差不多後,一些新電腦上我就沒有在安裝它們了,但如果你剛入門學ASP.NET,不要管是.NET Framework 2.0/3.5/4.0,我非常推薦安裝它,好好的去K它,它每一篇短短小小的,很容於吸收,是學ASP.NET入門上不可多得的教材。
如果你像我一樣,一開始就把Visual Studio 2008/ 2010 and MS SQL Server 2008 (R2)(Express)安裝好了,而且都是採用預設值,那你上面的SDK大概就裝不起來了(MS SQL Server執行個體名稱會衝突到),也不太可能再去移除Visual Studio 2008/ 2010 and MS SQL Server 2008 (R2)(Express),那可是大工程,比安裝還幸苦很多。去看看Microsoft .NET Framework SDK QuickStart Tutorials,原汁原味,我印象中我有看過Microsoft放過線上正體中文版SDK,但不知為何原因被移除了。
那有沒有Microsoft .NET Framework 4.0?有的,不過在Microsoft的中文downloads網站找不到,因為只有出英文版,而且與Windows / Windows 7 SDK整合在一起:「Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ISO)」(Only English Version),跟前面的Microsoft .NET Framework 2.0 SDK比較起來,這一份SDK就比較像原味的MSDN,不適合入門者看,合適進階者或查詢時使用。
你可以買書、上補習班或自修,但不管如何,那份Microsoft .NET Framework 2.0 SDK適合每一個剛入門ASP.NET的人來看,基礎觀念最重要,把基礎打好才會有未來。不要急著玩什麼雲不雲?什麼Lin什麼q?E什麼F?
沒有好的基礎,你會被開槍…打到趴。
從頭開始,一步一步往上爬,最實在。^_^
Reference:
T-SQL -- Common Table Expression (CTE) 教學重點筆記
開始使用SQL Server 2005後所新增的語法來改寫T-SQL,我真的喜歡它們。如果你已經有安裝MS SQL Server 2005 / 2008 / 2008 R2…等版本,那一定不要錯過在SQL Server 2005所新增的Common Table Expression(一般資料表運算式, CTE)。
CTE我就不寫教學了,我是看這一篇「一般資料表運算式」學的,看一下語法看一下教學,基本使用上是沒有問題的,以下是一些重點筆記:
相信我,把CTE學起來,會對你在T-SQL的撰寫上有很大的幫助。
Reference:
CTE我就不寫教學了,我是看這一篇「一般資料表運算式」學的,看一下語法看一下教學,基本使用上是沒有問題的,以下是一些重點筆記:
- 可以把CTE當成"Temp View"
- 如果在Store Procedure使用CTE,會造成每次執行都會re-compiler,效能低落
- 資料集未以Table存放於Database時,適合用CTE
- View通常用來分解大型查詢,如果只用一次,那View不是好辦法
- 子查詢只能從所在的"陳述式"存取,如果有多個相同的子查詢,必須含重覆程式碼,難閱讀及維護
- CTE能在同批次下,重覆使用(像View一樣)
- CTE只能用於其後第一個陳述式(Select, Insert, Delete, Update),此陳述式可多次取用CTE
- CTE後面可接另一個CTE,使用逗號(,)
遞迴CTE
- 建立傳回最上層的查詢(Anchor Member)
- 撰寫遞迴查詢(Recursive Member)
- Union All
- 確認不會傳回的資料列
- 你必須明確終止"子句條件"
- 或由CTE協助終止
- Recursive Member傳回"零"記錄
- 設定 MaxRecursion
- CTE預設最大遞迴數為 100
- Recursive Member只能參考CTE一次
;With RecurCTE(c1, c2, c3, ...cn) As ( -- Anchor Member Query Union All -- Recursive Member Query ) Select * From RecurCTE Option (MaxRecursion 10) -- 最大遞迴數 10
遞迴CTE限制
遞迴CTE不能使用於:- Select Distinct
- Group by
- Having
- Top
- Left/Right Outer Join
相信我,把CTE學起來,會對你在T-SQL的撰寫上有很大的幫助。
Reference:
- 一般資料表運算式 (簡單易懂)
- 使用一般資料表運算式 (了解一下語法)
- WITH common_table_expression (Transact-SQL)
- MSSQL
Tools -- LINQPad雲端版
LINQ是從.NET Framework 3.5所提的一個存取資料庫的新技術,而且以非常快速的速度走紅,走紅自有它的道理。不過,你在學習LINQ的過程式中一定會有Debug的需求,LINQ到底轉換成什麼T-SQL?但在如Visual Studio 2010裡,也很難Debug,暗黑執行緒有寫過一篇「在ASP.NET中觀察LINQ to SQL所產生的T-SQL語法」,但每次都要重新寫那些Code然後執行,不太可能。
那學習LINQ的人又一定聽過或使用過超強的LINQPad工具,它就是解決你在學習LINQ上的好工具,直接連線到資料庫,然後測試語法,即時查詢LINQ所產生的T-SQL…都是Visual Studio裡所欠缺的。
LINQPad軟體小小的,不管你是要安裝或免安裝版本,它都有提供,而且現在更提供LINQPad雲端版,目前只提供Google Chrome版本,連線後必須下載一個RoozzSetup.exe程式,安裝後,剛才的「LINQPad雲端版」就會跑出與軟體版一模一樣的UI畫面,執行起來效果也不差,真的是太強了。
重點是
雖後是雲端版,但只要資料庫認證資料正確,一切連線都是沒有問題的。但也發現一個小問題,它會儲存你的狀態資料,所以像資料庫連線等…訊息,記得,在公用、非個人電腦上,使用完要記得刪除。
ps.. 「LINQPad雲端版」是我自己稱呼的。^_^
ps.. 我在Mozilla Firefox執行也是正常的,但IE就會提示未支援。
Reference:
那學習LINQ的人又一定聽過或使用過超強的LINQPad工具,它就是解決你在學習LINQ上的好工具,直接連線到資料庫,然後測試語法,即時查詢LINQ所產生的T-SQL…都是Visual Studio裡所欠缺的。
LINQPad軟體小小的,不管你是要安裝或免安裝版本,它都有提供,而且現在更提供LINQPad雲端版,目前只提供Google Chrome版本,連線後必須下載一個RoozzSetup.exe程式,安裝後,剛才的「LINQPad雲端版」就會跑出與軟體版一模一樣的UI畫面,執行起來效果也不差,真的是太強了。
重點是
雖後是雲端版,但只要資料庫認證資料正確,一切連線都是沒有問題的。但也發現一個小問題,它會儲存你的狀態資料,所以像資料庫連線等…訊息,記得,在公用、非個人電腦上,使用完要記得刪除。
ps.. 「LINQPad雲端版」是我自己稱呼的。^_^
ps.. 我在Mozilla Firefox執行也是正常的,但IE就會提示未支援。
Reference:
T-SQL -- Update加強版之Write子句修改大數值資料類型(MAX)
在MS SQL Server 2005新增了「MAX」的資料類型,如:varchar(MAX)、nvarchar(MAX)、varbinary(MAX),MSDN翻譯為「大數值資料類型」,基本上是可以儲存到2^31-1位元組的資料,而且加強了數種功能:
我們來看Update含Write()子句的語法:
看實例:
使用Write()子句只有一點點不方便,就是你必須自己計算「起點位置」及「長度」,還有不能更新值為Null等。
Reference:
- 在triger中,可以在inserted和deleted資料表中使用大數值資料類型;
- Update新增Write()函數,可以對大數值資料類型執行區塊更新;
在未來的 Microsoft SQL Server 版本中,將移除 ntext、text 和 image 等資料類型。請避免在新的開發工作中使用這些資料類型,並規劃修改目前在使用這些資料類型的應用程式。請改用 nvarchar(max)、varchar(max) 和 varbinary(max)。如果你使用MS SQL Server 2005之後的版本,請注意以上訊息。
Update之Write()子句
我們來看Update含Write()子句的語法:
Update 資料表 Set 資料行 = .Write(運算式, 起點位置,長度) From 來源資料表 Where 條件
看實例:
-- 暫存資料表
CREATE TABLE #t1
(
id INT IDENTITY(1,1) NOT NULL,
CONTENT NVARCHAR(MAX)
);
GO
-- 新增兩筆資料,也是使用SQL Server 2005的新語法
INSERT #t1 VALUES
(N'在MS SQL Server 2005新增了「MAX」的資料類型,如:varchar(MAX)、nvarchar(MAX)、varbinary(MAX),MSDN翻譯為「大數值資料類型」,基本上是可以儲存到2^31-1位元組的資料,而且加強了數種功能'),
(N'在未來的 Microsoft SQL Server 版本中,將移除 ntext、text 和 image 等資料類型。請避免在新的開發工作中使用這些資料類型,並規劃修改目前在使用這些資料類型的應用程式。請改用 nvarchar(max)、varchar(max) 和 varbinary(max)。')
GO
-- 將id=1的MS換成Microsoft
-- 起點位置由0開始計算
UPDATE #t1
SET CONTENT.write('Microsoft',1,2)
WHERE id=1
-- 將id=2的Microsoft換成MS
UPDATE #t1
SET CONTENT.write('MS',5,9)
WHERE id=2
GO
SELECT *
FROM #t1
GO
DROP TABLE #t1
GO
使用Write()子句只有一點點不方便,就是你必須自己計算「起點位置」及「長度」,還有不能更新值為Null等。
Reference:
SSMS -- SQL Server Management Studio加強工具之SSMS Tools Pack
如果你覺得SSMS只是拿來打打T-SQL,那你就錯了。那如果你覺得SSMS在UI或操作上有那麼一點不人性,那你跟我一樣。SSMS用久了,總覺得有點那麼小怪怪,例如說,每次都要重覆打Select * From Table,就沒有一個快速鍵按下後,自動產生樣版,雖然可以叫出那超大樣版集合的「範本總管」,但比較起Visual Studio 2010的人性化,SSMS總是差那麼一點。
不過,我找到了一個工具,可以拿來加強SSMS,它是由SQL MVP所開發的「SSMS Tools Pack」,小小不到 2MB,但它已經支援到 MS SQL Server 2011版(嚇, @_@),細部的功能網頁Features都有介紹:
在安裝過程中,你能看到它完整支援MS SQL Server 2005/2008/2011,尤其它的SQL Snippets,我愛死它了,簡單好用,可以讓我減少打字且提高正確性,還可以建立自己常用的快速鍵及樣版。
我幫各位整理一份內建快速鍵對應表,可放在手邊查詢,常用的幾次就記起來了:
按I <tab | enter>就出現Insert,按rwn <tab | enter>就出現「ROW_NUMBER() OVER(PARTITION BY <> ORDER BY <> )」挖~挖~挖~,我超感動的。
看完有沒有很心動,快下載安裝,保證不後悔。
Reference:
不過,我找到了一個工具,可以拿來加強SSMS,它是由SQL MVP所開發的「SSMS Tools Pack」,小小不到 2MB,但它已經支援到 MS SQL Server 2011版(嚇, @_@),細部的功能網頁Features都有介紹:
- SQL Snippets
例如,在輸入區打上「ssf」後按下「Enter」或「Tab」就產生預設的代碼,如「SELECT * FROM 」。 - Window Connection Coloring
- Window Content History, Query Execution History and Current Window History
你的執行歷史和當前視窗的歷史,這在除錯時很有用。 - Format SQL
格式化視窗,連大小寫都會幫你轉換好 - Search Table, View or Database Data
直覺的視窗搜尋功能,不用為了找資料而下一堆T-SQL指令。 - Run one script on multiple databases
- Copy execution plan bitmaps to clipboard or file
直接複製執行計畫的圖形到剪貼簿或檔案。 - Search Results in Grid Mode
在執行結果的表格中搜尋。 - Generate Insert statements from resultsets, tables or databases
直接幫你產生表格或資料庫的Insert語法檔案。 - Regions and Debug sections
收合及除錯區塊的標示。 - Running custom scripts from Object Explorer
從物件總管執行自訂的指令碼。 - CRUD (Create, Read, Update, Delete) stored procedure generation
產生CRUD預儲程序。 - New query template
- General Options
在安裝過程中,你能看到它完整支援MS SQL Server 2005/2008/2011,尤其它的SQL Snippets,我愛死它了,簡單好用,可以讓我減少打字且提高正確性,還可以建立自己常用的快速鍵及樣版。
我幫各位整理一份內建快速鍵對應表,可放在手邊查詢,常用的幾次就記起來了:
按I <tab | enter>就出現Insert,按rwn <tab | enter>就出現「ROW_NUMBER() OVER(PARTITION BY <> ORDER BY <> )」挖~挖~挖~,我超感動的。
看完有沒有很心動,快下載安裝,保證不後悔。
Reference:
訂閱:
文章 (Atom)
