日期: 2023.11.16 星期四
-
建立資料庫
-
伺服器總管視窗若沒出現時: 執行檢視 > 伺服器總管

-
選擇左下視窗上的伺服器總管後然後選擇項目: 伺服器下的資料連接後,
滑鼠右鍵選擇加入連接

- 伺服器名稱:
(localdb)mssqllocaldb - 登入伺服器:
使用 Windows 驗證 - 新資料庫名稱:
im



- 伺服器名稱:
-
-
建立資料表
-
資料表上,按下滑鼠右鍵,選擇加入新的資料表。

名稱 資料型別 允許 Null 預設值 PID varchar(50) Not Null PNAME varchar(50) Not Null PTYPE char(1) Not Null PRICE int Not Null -
切換到頁籤:
T-SQL,將[Table]命名成[PRODUCT],然後執行更新

-
按下
更新資料庫

-
回到伺服器總管按下
更新,就可以看到資料表PRODUCT

若重複產生一樣名稱的資料表,它會報錯。
-
-
新增資料
選擇資料表PRODUCT後,點擊滑鼠右側,選擇顯示資料表資料,然後在出現視窗上開始編輯與新增資料

PID PNAME PTYPE PRICE P01 Monitor A 13000 P02 Case B 12000 P03 CPU A 5000 P04 Power B 9000 
- 開始建立新專案: 檔案 > 新增 > 專案




-
於專案項目上,滑鼠右鍵選擇加入
Web 表單

指定項目的名稱:
WebForm1即表單項目名稱

-
案例: 不寫程式,使用控制項將資料表
PRODUCT以表格方式顯示在WebForm1表單上。-
使用控制項
SqlDataSource將資料庫連接、下SQL指令,得到結果; 在表單加入SqlDataSource
-
設定資料來源
選擇資料庫

勾選: 連接字串,查看連線字串內容後,按下下一步。

將連線字串存入
Web.config,按下下一步。

選擇資料表與查詢結果顯示欄位:
PID、PNAME、PTYPE、PRICE,然後按下下一步。

按下測試查詢,結果顯示沒問題後,按下完成。

-
要將查詢資料全部筆數顯示於介面上,使用
Gtidview來達成。
WebForm1上,滑鼠右鍵,選擇設計工具檢視,加入Gridview,選取自動格式化來選取表格樣式。


-
將
Gridview與SqlDataSource做資料繫結:-
點擊
Griwview上的小箭頭,然後選擇資料來源:SqlDatSource1

-
可以勾選分頁,指定頁數,屬性
PageSize="2"

- 可以勾選排序: 啟用後,欄位名稱出現連結符號,可以讓我們指定用哪一欄位做排序。

-
- 結果測試

-
-
案例: 讓它(
Gridview)上的資料可做編輯功能(新增、刪除、修改)-
回到
SqlDataSource1上,設定資料來源

-
按下下一步

-
設定 Select 陳述式
-
檢查
SqlDataSource1控制項顯示之原始碼上檢視,會發現預設只有提供查詢功能:
檢查WebForm1.aspx,原始檔內容。


-
如果要能有
新增、修改、刪除功能,回到設定資料來源的*設定 Select 陳述式,按下進階`,勾選 產生 INSERTUPDATE 和 DELETE 陳述式

-
在回到檢查
WebForm1.aspx,原始檔內容時,就會發現SqlDataSource1控制項上有了其他功能。<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:imConnectionString %>" DeleteCommand="DELETE FROM [PRODUCT] WHERE [PID] = @PID" InsertCommand="INSERT INTO [PRODUCT] ([PID], [PNAME], [PTYPE], [PRICE]) VALUES (@PID, @PNAME, @PTYPE, @PRICE)" SelectCommand="SELECT [PID], [PNAME], [PTYPE], [PRICE] FROM [PRODUCT]" UpdateCommand="UPDATE [PRODUCT] SET [PNAME] = @PNAME, [PTYPE] = @PTYPE, [PRICE] = @PRICE WHERE [PID] = @PID">
-
-
到
Gridview控制項上,展開功能項,可以看到新增了 啟用編輯、啟用刪除、樞紐分析表讀取模式,勾選啟用編輯、啟用刪除
-
執行
WebForm1.aspx

-
幫
刪除連結功能加上防呆- 選擇
Gridview1後,按下功能展開按鈕,點選編輯資料行- 可用欄位(A): 這些欄位可以被選取加入到
Gridview上顯示。 - 選取的欄位(S): 代表目前顯示於
Gridview1的欄位有哪些。
CommandField指 編輯,刪除欄位
- 可用欄位(A): 這些欄位可以被選取加入到
-
點擊
CommandField後,右側出現設定CommandField屬性畫面ButtonType:Button按鈕外觀樣式(Link、Button、圖片)

-
因為
CommandField是不能修改,需轉換成TemplateField才能修改,所以點擊將這個欄位轉換為 TemplateField連結。

-
修改後,檢視原始碼,如下:
<asp:TemplateField ShowHeader="False"> <EditItemTemplate> <asp:Button ID="Button1" runat="server" CausesValidation="True" CommandName="Update" Text="更新" /> <asp:Button ID="Button2" runat="server" CausesValidation="False" CommandName="Cancel" Text="取消" /> </EditItemTemplate> <ItemTemplate> <asp:Button ID="Button1" runat="server" CausesValidation="False" CommandName="Edit" Text="編輯" /> <asp:Button ID="Button2" runat="server" CausesValidation="False" CommandName="Delete" Text="刪除" /> </ItemTemplate> </asp:TemplateField> -
修改上面程式碼,於刪除按鈕按鈕語句內加入一屬性。
: <ItemTemplate> <asp:Button ID="Button1" runat="server" CausesValidation="False" CommandName="Edit" Text="編輯" /> <asp:Button ID="Button2" runat="server" CausesValidation="False" CommandName="Delete" OnClientClick ="return confirm('Are you sure?')" Text="刪除"/> </ItemTemplate>OnClientClick ="return confirm('Are you sure?')",ASP.NET 會自動轉成onclick ="return confirm('Are you sure?')" -
測試結果: 刪除多了一次確認詢問提示視窗出現

-
檢視瀏覽頁面,滑鼠右鍵檢視原始程式碼,在刪除按鈕,屬性上看到:

- 新增功能,參考上周二說明製作。
- 選擇
-
-
案例: 上面的設計是為管理者設計的功能,現在設計另一個新表單來作為
Client端的畫面,功能是輸入使用者購買數量後,計算出總價的的功能(使用控制項來製作,不寫程式的方法)。-
專案項目上,滑鼠右鍵加入表單,

-
介面設計
-
資料來源:
加入SqlDataSource控制項,展開功能項目,開始-
設定資料來源:

-
選擇資料庫

-
設定
Select陳述式: 選擇顯示欄位:PID、PNAME、PTYPE、PRICE,按下下一步

- 按下測試查詢 後,檢視資料,按下完成

-
-
資料顯示:
加入Gridview控制項,展開功能項目,選擇自動格式化後,選擇專業

選擇資料來源:
SqlDataSource1

點擊編輯資料行

新增一資料欄: 可以選擇點擊加入新資料行或編輯資料行來操作,這裡用編輯資料行

因要自己設計欄位,所以選擇TemplateField後,按下加入會將該TemplateField加入到選取的欄位視窗內

點擊「選取的欄位」視窗內的TemplateField,開始修改外觀屬性
HeaderText指欄位的標題文字,設定為Quantity
這時回到設計界面就可看到新增了一個欄位:
Quantity
編輯資料行只能新增顯示的欄位,如果要異動 Gridview裡面的資料,需要使用編輯樣板功能

編輯樣板視窗顯示這個
TemplateField欄位的內容,可以在裡面加入一個TextBox
然後,展開功能項,點選結束樣板編輯

就會看到欄位
Quantity每筆項目中出現了TextBox輸入項目
- 執行
WebForm2.aspx,察看結果。

-
-
留言