有關期末專題報告

十二月 25, 2008 作者: mrmu  
類別: 修課需知

下週就是大家期待的期末專題發表了,在此提醒大家要交的東西:

1. Word報告:請每組一定要交一份,希望這次能看到比較完整的報告,請下載「備用下載」裡的report_sample.rar,裡面的報告範本就是我希望看到的報告樣式。

2. PowerPoint簡報:這個不強迫你一定要做,不過上台報告如果沒東西可看,比較難講,所以看你自己要不要準備。

3. 專題程式:原則上希望你們的程式可以秀給大家看,如果能裝在老師那台執行最好,因為我不確定能不能挑你們的電腦來廣播,這個我會再試,不過至少要能在你們的電腦上跑。報告結束請寄一份給我,讓我可以回家欣賞兼打分數。

報告完畢。

相關文章

課程投影片總摘要

十二月 7, 2008 作者: mrmu  
類別: 修課需知

大家現在都進入製作專題的階段了,上回上課有發現同學需要實作一些以前課堂上練習過的功能,但投影片這麼多,找起來不方便。於是我做了一份摘要,並且打算之後上完課就更新這篇摘要,希望大家可以很快速的找到功能的實作方法:

[0909]
自我介紹、課程介紹

[0916]
概述資料庫、資料表、概述.net 與ado.net架構
介紹安裝環境 (補充說明一下)
Visual Studio 2008 (光碟可找戴同學)
SQL Server 2005(Express版亦可,課程網頁有載點)
SQL Server 2005 Management Studio (Express亦可,課程網頁有載點)
Visual Web Developer 2008 (Express版亦可,官網可下載)

[0923]
SQL Server Management Studio 操作: 附加、新增資料庫、新增查詢、建立關聯性
介紹驗證模式、TableAdapter
練習:將資料表拉進表單成為DataGridView物件、設定ComboBox的資料繫結、拉進兩個具關聯性的資料表(移動A表記錄,B表會換資料)

[0930]
利用DataGridView修改DataSet資料
介紹預設Navigator的儲存方式(全存)與更新的儲存方式(只存有變動的)
介紹名稱空間、Imports、例外處理
用DataView搜尋資料庫記錄
秀圖片(選擇”詳細資料”模式、選picturebox)

[1007]
使用BindingNavigator一筆筆看記錄時(詳細資料模式),為顯示的記錄加上色彩效果
為DataGridView顯示的記錄加上色彩效果
自訂DataGridView的欄位顯示方式
課堂作業:按鈕彈明細、下拉明細、建立運算欄位、凍結窗格

[1014]
介紹Connection, Command, DataReader

[1021]
使用ListView呈現資料 (快顯功能表)
使用TreeView呈現資料

[1028]
SQL敘述中的參數使用(參數物件)
介紹如何建立與執行預存程序
介紹較有效率的ExecuteScalar方法(取得欄位資料)

[1104] 期中考

[1111]
期中考檢討
介紹自製的Graph類別
介紹異動/交易機制
專題題目討論

[1118]
介紹如何儲存圖片至資料庫、並讓PictureBox支援拖放
專題資料表討論

[1125]
XML結構描述與具型別的DataSet

[1202]
資料庫惡補時間
各組資料表討論
資料庫實務程式介紹-不弱格觀察

[1209]
ASP.NET 網頁資料庫
分組專題討論

[1216]
?? (預計介紹安裝程式的製作,含桌面程式與網頁形式)
分組專題討論

[1223]
?? (預計介紹LINQ)
分組專題討論

[1230]
命運之日:學期專題發表日

[0106]
最終章- 因期末大會考與課程衝突,故此日上課時間為 8:40~9:50

相關文章

期中考參考解答。

十一月 6, 2008 作者: mrmu  
類別: 兼課生活

有點無聊但很重要的參考解答。

08Fall 商用程式設計 期中考參考解答

一、名詞解釋:

1. TableAdapter

TableAdapter主要是提供應用程式與資料庫之間的通訊。TableAdapter會連接到資料庫、執行查詢或預存程序,然後傳回一個已填入資料的新資料表,或是將傳回之資料填入現有的DataTable。它也可用來將應用程式中更新的資料傳回到資料庫。

2. DataSet

從原始資料庫取得的部份資料集合,類似記憶體中的資料庫(離線儲存資料),可以存放多個資料表資料。

3. BindingSource

為資料來源(DataSet)與資料繫結控制項(Data Bound Control)之間的橋樑。當使用者從控制項上編輯資料,或要求排序時,都會主動透過BindingSource和資料來源溝通。

4. DataView

主要的用途可以用來對存放在DataSet中的記錄執行過濾、排序或搜尋的操作。

5. DataReader

DataReader物件允許用戶端從資料來源擷取唯讀、順向的資料流。使用 DataReader 物件可以提高應用程式的效能,方法是在資料可用時立即擷取它,而不是等待傳回查詢的整個結果,以及 (依預設) 一次只將一個資料列儲存到記憶體中,進而減少系統負擔。

6. Stored Procedure

將SQL敘述做成資料庫中的預存程序(Stored Procedure),讓不同的應用程式或網頁都可以使用。將常用的SQL敘述做成資料庫中的預存程序,除了可以給不同的應用程式或網頁使用之外,還可以提升資料庫操作的效能和安全性。

二、簡答題:

1. 請試述資料庫「連線」與「離線」的操作方式有何不同。

連線的操作方式 :

在不中斷對資料庫的狀態下,對資料庫進行新增、刪除、修改和查詢的動作。

優點:

1. 因不需重新建立連線,因此效能較好。

2. 方便查詢最新的資料內容。

缺點:佔用資料庫的連線數,佔用愈多成本愈高。

離線的操作方式:

先從資料庫將資料讀到應用程式中,然後中斷對資料庫的連線,把資料庫的記錄留在應用程式中慢慢操作,待操作結束後重新建立對資料庫的連線,再將修改後的記錄全部寫回資料庫。

優點:

1. 佔用資料庫連線時間很短,因此可同時服務多位使用者。

2. 適用於網頁。

缺點: 資料庫應用程式離線愈久,資料不一致的現象愈可能發生 (造成資料衝突)。

2. 請分別試述Windows驗證模式與SQL Server驗證模式。

Windows 驗證模式

使用此模式管制應用程式的登入,表示使用者必須登入Windows網路,再使用登入Windows網路的帳號和密碼登入SQL
Server。預設系統管理員(Administrator)為SQL Server的最高權限管理員。

優點:

安全:應用程式不會將帳密以純文字方式送給SQL Server驗證,且應用程式不需儲存連線帳密。

方便:應用程式不需要製作要求使用者輸入登入資料庫的帳密介面。

有效管理帳號:應用程式可利用Windows鎖定帳號、帳號逾時、以及帳號登入管制時間等功能。

缺點:

資料庫使用者須有Windows帳號

開放權限廣:因持有Windows帳號,所以使用者可使用Windows開放給登入帳號的所有權限。

SQL Server 驗證模式

使用此模式管制應用程式的登入,表示使用者必須使用SQL Server 帳號密碼登入SQL Server。不過,微軟說明SQL Server
提供驗證的目的只是為了與舊版相容,因此請盡可能使用 Windows 驗證。

3. 請試述SQL Injection攻擊與防止方式。

SQL Injection式的駭客攻擊:

起因於資料庫應用程式未檢查使用者輸入的資料是否內含惡意攻擊的SQL敘述,就拿來組合成欲執行的SQL敘述,然後送給資料庫伺服器執行,造成資料庫中的記錄遭到破壞。

防止SQL Injection:

可在程式中加上輸入資料型態檢查、資料長度檢查與資料內容檢查,並且妥善使用權限管理以及透過預存程式(Stored-procedure)來執行SQL敘述。

4. 請試述Command類別提供的ExecuteReader, ExecuteNonQuery 及 ExecuteScalar各有何不同。

ExecuteReader: 執行此方法會傳回DataReader,以取得資料來源的順向資料流。

ExecuteNonQuery: 執行SQL敘述時使用,不會傳回資料記錄。

ExecuteScalar:
如果要執行的SQL敘述是用來回傳計算過的單一值,或者回傳的是只有一筆資料列、一個資料行的資料(不是要傳回一整筆記錄的情形),則可以使用ExecuteScalar方法,以達最佳執行效能。

三、請為下列程式碼片斷填上註解:

1. AddHandler CategoriesBindingSource.CurrentChanged, AddressOf CrtChanged

增加一個處理器,讓CategoriesBindingSource物件的CurrentChanged事件被觸發時,會呼叫我們自訂的CrtChanged方法。

2. Private strConn As String = "Data Source=MAIN-HOME;Initial Catalog=Northwind;Integrated Security=True"

DataSource=IP位置或電腦名稱;Initial
Catalog=資料庫名稱;Integrated Security=True為符合Windows驗證的Integrated Security語法。

3. Dim strSQL As String = "Insert Into Members (UserName, Password) Values (@UserName, @Password)"

宣告strSQL為SQL敘述字串,內容為新增一筆記錄至Members資料表,其中UserName及Password欄位值為參數形式。

4. Dim p1 As SqlParameter = New SqlParameter("@Password", SqlDbType.NVarChar, 40)
    p1.Direction = ParameterDirection.Input
    p1.Value = FormsAuthentication.HashPasswordForStoringInConfigFile(Text1.Text,
"sha1")

定義p1為SqlParameter物件(參數物件),作為參數@Password的物件,並指定其型態為NVarChar,長度為40位元。另外也指明p1的Direction為輸入式的參數,最後使用sha1雜湊加密演算法,將Text1.Text的內容加密後放進p1.Value

5. Dim p2 As SqlParameter = New SqlParameter("@MemberID", SqlDbType.Int)

    p2.Direction = ParameterDirection.Output

定義p2為SqlParameter物件(參數物件),作為參數@MemberID的物件,並指定其型態為Int。另外也指明p2的Direction為回傳式參數,表示此參數可取得回傳值。

6. Select @MemberID = SCOPE_IDENTITY()

為T-SQL語法,在預存程序中加入此行可在新增記錄時,取得自動新增欄位最新的MemberID值。

相關文章

期中考說明。

十一月 3, 2008 作者: mrmu  
類別: 兼課生活

各位同學好,
為了降低各位同學期中考壓力,特此說明。本次期中考為筆試,請記得帶筆。關於考題來源,都在投影片。
不過我想這樣說明可能還是太廣,總之:

1. 我會考名詞解釋,因此有些比較常提到的類別、物件、方法,要知道它是什麼用途。例如,什麼是DataSet?就用自己的話寫出來。

2. 我會考簡答,所以針對投影片裡面的「觀念性敘述」要理解。

3. 我會考填上程式碼片段的註解,所以看到程式碼,要了解是在做什麼事。

4. 投影片當中有很多是為了上課操作而寫的流程內容,搭配圖片,這個只是為了讓大家理解而已,不需去記憶它。

所以各位只要理解投影片在做什麼,並且可以用自己的話來說明就行了,再來就是針對常常出現的類別、方法稍微記憶一下它是用來幹嘛的就行了,不必太緊張,但也不要不緊張….XD

有事聯絡我.

ps. 記住期中考不要遲到囉!!~~

相關文章

[課程公告] 關於10/07的課堂作業…[1021更新]

十月 8, 2008 作者: mrmu  
類別: 市場情報

大家好,
已交作業名單:
1, 4, 10, 12, 21, 22, 26, 31, 33, 34, 41, 53, 54, 66, 70, 81, 93, 94, 97, 98, 101, 105, 106

未交的同學請找時間讓我檢查。(before midterm exam)

追加:14

相關文章

期末專題分組名單 [11/11更新]

十月 8, 2008 作者: mrmu  
類別: 修課需知

期中考前要交的分組名單,請寫上「專題題目」,「組長與各組員的學號」,「組長E-mail」。

分組說明

  • 人數原則上是3-6人,期中考週(11/4)前均可更換。
  • 各組人數亦會列如評分考量上。例如:相同分數水準的兩組專題,若A組為6人,B組為3人,則平均每人可得的分數,一定是B組高,要有心裡準備哦。
  • 目前已交名單:
    題目:網咖點餐系統/組長: 54/組員: 22, 34, 94, 98, 106
    題目:電子書管理系統/組長:101/組員: 10, 11, 93, 97
    題目:圖書資料管理系統/組長: 12/組員: 01, 21, 26, 41
    題目:Uploaded服務/組長: 85/組員: 14,33,70
    題目:新竹旅遊資訊系統/組長: 66/組員: 53,105,58
    題目:歌詞管理系統/組長: 31/組員: 4,81,[23]

    圖片來源:Google Sites首頁

    相關文章

    修課的同學請注意!課前準備如下!

    九月 23, 2008 作者: mrmu  
    類別: 修課需知


    進入教室後,坐好定位,於老師上課前請做好下列事項 :

  • 開機(相信這不用說大家都會先開好XD)
  • 課程網頁-> 下載Sample資料庫 (或最新一期本人熬夜趕出來的課程簡報) 並安裝之
  • 開啟兩個SQL Server組態服務即可,SQL Server (SQLEXPRESS) 及 SQL Browser (SQL Browser啟動: 內容/服務/啟動模式設手動 就可輕鬆啟動)(if SQLEXPRESS cannot launch well, plz use MSSQLSERVER),參考下圖:

  • SQL Server Managerment Studio 附加 Northwind資料庫
  • Visual Studio 2008 加入資料來源:Northwind資料庫
  • 看完奇摩、無名、Youtube後,若覺得無聊,老師又還沒到,請利用時間預習上次教的XD
  • 相關文章