顯示具有 MSDN 標籤的文章。 顯示所有文章
顯示具有 MSDN 標籤的文章。 顯示所有文章

2016年12月21日 星期三

DataAdapter的 .Fill()方法,同時執行多個查詢

DataAdapter的 .Fill()方法,同時執行多個查詢
MSDN原廠有說明: 「當指定的查詢傳回 "多項結果"時,會將結果集放置於 "個別"資料表中。」
我們做一個範例,寫點程式,看到成果就懂了



原廠的說明裡面,提到兩件事:
第一,使用DataAdapter為何不需要自己寫程式開啟DB連線?關閉連線?
請看MSDN原廠說明 --
    Fill 方法使用 SELECT 陳述式從資料來源擷取資料。與 SELECT 命令相關聯的 IDbConnection 物件必須是有效的,但不需要是開啟的。
    如果 IDbConnection 在呼叫 Fill 之前已關閉,它就會再次開啟以擷取資料,然後關閉。如果在呼叫 Fill 之前開啟連接,它會保持開啟
您可以看一下以前的文章,我做了一個實驗:

第二,如果「同時」查詢多個資料表?怎麼辦?
MSDN原廠也有說明喔,照著說明來寫程式就好了 --
    當指定的查詢傳回 "多項結果"時,會將結果集放置於 "個別"資料表 (DataTable)中。將整數值附加到指定的資料表名稱 (例如,"Table"、"Table1"、"Table2" 等等),即可命名額外的結果集。
        SqlConnection Conn = new SqlConnection("資料庫的連結字串");
        SqlDataAdapter myAdapter = new SqlDataAdapter("Select * From test Select * from test_talk", Conn);
        DataSet ds = new DataSet();
       
            //// == 寫法一,正常運作 =============================
            ////----(2). 執行SQL指令(Select陳述句)----
            //myAdapter.Fill(ds);    //這時候執行SQL指令。取出資料,放進 DataSet。
            ////----(3). 自由發揮。由 GridView來呈現資料。----
            //GridView1.DataSource = ds.Tables[0];  
            //GridView1.DataBind();
            //GridView2.DataSource = ds.Tables[1];  
            //GridView2.DataBind();
            // == 寫法二,正常運作 =============================
            myAdapter.Fill(ds, "test");    //這時候執行SQL指令。取出資料,放進 DataSet。
            myAdapter.Fill(ds, "test_talk");    //這時候執行SQL指令。取出資料,放進 DataSet。
            GridView1.DataSource = ds.Tables["test"];    
            GridView1.DataBind();
            GridView2.DataSource = ds.Tables[ "test_talk"];  
            GridView2.DataBind();

我也不知道什麼時候,我開始「看得懂」 MSDN上的中文說明(我常說這些是 火星中文,每一個字都看得懂,但整句話看不懂)
而且可以稍微把這些說明「轉成」程式碼

不用擔心,慢慢累積經驗,會越做越順的
  
 
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

寫信給我--  mis2000lab (at) yahoo.com.台灣  或是  school (at) mis2000lab.net
................   facebook社團   https://www.facebook.com/mis2000lab   ......................
................   Google+   https://plus.google.com/100202398389206570368/posts ........
................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

[微軟] 從零開始 的 C# 線上學習網站

[微軟] 從零開始 的 C# 線上學習網站


感恩微軟 讚嘆微軟
提供了一個 "從零開始" 的 C# 線上學習網站,讚!
Getting Started with C#  從零開始,有二十個小課程

從零開始,一共有二十堂課程
每一堂課都簡單輕鬆,但範例很實用。

絕對比在學校的時候,老師教的基礎語法,更加實用且活潑

Getting Started with C#

https://www.microsoft.com/net/tutorials/csharp/getting-started

您進入後,選擇網頁下方 「無任何程式經驗」就能開始  :-)

因為這個網站的 C# 教案與範例,部分用到 C# 6.0版
建議您使用 VS 2015來開發,建立一個新專案 (Web),然後選擇「空」專案就能開始練習囉

課程內容如下:
  1. Creating a Hello World Program
  2. Learning about built-in Types and Variables
  3. Working with Strings
  4. Working with Dates and Times
  5. Making Decisions in Your Program
  6. Implementing Logical Expressions
  7. Looping Based on a Logical Expression
  8. Looping a Known Number of Times
  9. Working with Arrays and Collections
  10. Looping Through Members of a Collection
  11. Defining and Calling Methods
  12. Understanding Classes and Objects
  13. Working with Scope and Accessibility Modifiers
  14. Encapsulation and Object-Oriented Design
  15. Understanding Namespaces
  16. Introducing LINQ
  17. When and How to use Exceptions
  18. Testing Your Code
  19. Common Patterns and Antipatterns
  20. Appendix: Troubleshooting

我錄製的簡單Youtube教學 -- https://youtu.be/beBzBMyG_gw

C# 與 VB 語法互轉(轉換),強力推薦  
******************************************************************************
******************************************************************************
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

寫信給我--  mis2000lab (at) yahoo.com.台灣  或是  school (at) mis2000lab.net
................   facebook社團   https://www.facebook.com/mis2000lab   ......................
................   Google+   https://plus.google.com/100202398389206570368/posts ........
................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

[MSDN範例]Strongly Typed 強型別 (類別檔)

[MSDN範例]Strongly Typed 強型別 (類別檔)


以北風資料庫的「員工」資料表為例,"自訂" 中介層商務物件,一個類別檔
Strongly Typed 強型別 。業務邏輯層(BLL)、數據訪問層 / 資料存取層(DAL)
提供 YouTube線上教學影片 + PDF下載
..............................................................................................
源自MSDN的範例 for ASP.NET (Web Form)
以北風資料庫的「員工 Employee」資料表為例
  • "自訂" 中介層商務物件,一個類別檔
  • Strongly Typed 強型別 
  • 業務邏輯層(BLL)、數據訪問層 / 資料存取層(DAL)

C#與VB範例都有 -- https://msdn.microsoft.com/zh-tw/library/ms227562(v=vs.100).aspx

原廠提供的範例不會跑, 所以需要一點小修正
我在底下提供修正後的版本給您使用, 比較輕鬆
但是原廠提供的範例 (GridView + 第一個ObjectDataSource) 有 "類似" 分頁功能
有志學習的朋友可以參考
..............................................................................................
我整理好兩個範例 (稍作簡化),請由此下載
      C# 檔名     WebSite2015_ObjectDataSource_CS.rar
      VB 檔名     WebSite2015_ObjectDataSource_VB.rar 
      範例 MSDN_Northwind.aspx 就是沿用MSDN的範例
      範例 MSDN_Northwind_BLL_DAL.aspx則是拆成兩個類別檔,區分BLL與DAL

YouTube教學影片,請看 https://youtu.be/QkxYH81dRyw


2016/10/31,提供一章 PDF電子書 -- 簡易入門BLL與DAL、強型別來源物件

.............................................................................................................................................................

相關文章:  (講解 BLL 與 DAL)

  
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

寫信給我--  mis2000lab (at) yahoo.com.台灣  或是  school (at) mis2000lab.net
................   facebook社團   https://www.facebook.com/mis2000lab   ......................
................   Google+   https://plus.google.com/100202398389206570368/posts ........
................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

2015年12月21日 星期一

[MSDN][轉貼]使用 GridView & SqlDataSource的預存程序(Stored Procedure)顯示資料

這是昨天上課的補充範例,對應書本「上集」第九章 Ch.9
ASP.NET專題實務 / 松崗出版
主軸是SqlDataSource的「Where」按鈕 與 同一網頁裡面的多個控制項互動
學員問道:能否搭配資料庫既有的預存程序(Stored Procedure)
我剛好找到微軟MSDN的一個經典範例:
逐步解說:使用 GridView Web 伺服器控制項中的預存程序顯示資料
https://msdn.microsoft.com/zh-tw/library/k10148y1(v=vs.100).aspx

不過,學員說他看不懂。
微軟MSDN的「HowTo:(逐步解說)」是最基本、最淺的範例了,一步一步帶著你做(手把手)
不過......全都用 "文字" 敘述
說真的,我看起來也很累
但微軟沒法子像寫書一樣,每一個步驟都抓圖解說啊,這樣太耗時間了。
我補充幾張設定畫面,應該有助於您看懂微軟MSDN這個經典範例!
一旦您習慣了、適應了MSDN的說明方式、範例解說,以後就可以快地自我學習、自修了。

首先,先看看程式執行成果:
      展示北風資料庫裡面的Employee員工資料表,每一位員工帶來的訂單收入。
      GridView與DetailsView兩個控制項的內容都沒有撰寫SQL指令,都是直接呼叫既有的預存程序。
在資料庫裡面撰寫兩個預存程序。操作步驟請看圖片解說。
      第一,GetEmployee_MSDN,列出Employee員工資料表每一位員工的名字。
      第二,EmployeeSales_MSDN,列出每一位員工帶來的訂單收入(總金額)。
        (這兩段預存程序,請看微軟MSDN的範例,裡面有提供)







畫面上有兩個控制項:
    上方的GridView+SqlDtaSource「1」搭配預存程序GetEmployee_MSDN,列出Employee員工資料表每一位員工的名字。
    下方的DetailsView+SqlDtaSource「2」搭配預存程序EmployeeSales_MSDN,列出每一位員工帶來的訂單收入(總金額)。

畫面下方的DetailsView+SqlDtaSource「2」搭配預存程序EmployeeSales_MSDN,列出每一位員工帶來的訂單收入(總金額)。
這個預存程序使用「參數」所以SqlDataSource畫面設定也有一點改變。


外國諺語:一圖解千言。
很多時候自己照著做就會懂了......只是在一旁觀看,而不動手做,當然不容易學得起來。

所以現場上課、看影片學習,會比自己看書、自修
學得更快也更簡單,道理也是如此。

這個範例也是大家喜愛的、常用的,但MSDN的「純文字」解說,常常讓大家忽略了

[MSDN][轉貼] GridView "批次"執行更新與刪除、執行 "大量"更新更新與刪除


我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
......... 寫信給我,mis2000lab (at) yahoo.com.台灣 .....................................................................................
................   facebook社團   https://www.facebook.com/mis2000lab   ............................
................   Google+   https://plus.google.com/100202398389206570368/posts ..............
................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

2014年12月4日 星期四

ASP.NET 5 概觀 & Web Form 4.6 & VS 2015

ASP.NET 5 概觀 & Web Form 4.6 & MVC 6 & Web API & Visual Studio 2015



ASP.NET 5包含下列特點:

**全新的、彈性且跨平台的運作(runtime)。
**全新的、模組化的HTTP Request管線(pipeline)。
**即時可用的雲端環境設定。
**一致化的設計模組,包含MVC、Web API與Web Pages
**不需重建專案就能看到前後版本的差異。
**完整對應(side-by-side).NET Framework各版本。
**能在IIS或自建的主機(self-host)上運作。
**Visual Studio 2015的全新工具。
**GitHub上的開放原始碼(源碼)。

詳見全文(中文)