"Database.mdf"데이터베이스의 "Memos"테이블에 "폼뷰(FormView) 컨트롤을 사용해서 데이터를 입력"하고 "Memos"테이블에서 입력된 결과를 확인해본다.
우선 "C:\...\WebDataControl\"폴더에 "새 항목 추가"로 "웹 폼(Web Form)"을 하나 생성한 후 이름은 "FrmFormView.aspx"라고 짓는다.
"FrmFormView.aspx"에서 아래와같이 코드작성 및 디자인을 하는데,
'도구상자'의 "FormView"컨트롤을 FrmFormView.aspx의 <div>태그안에 마우스로 "드래그&드롭" --> "FormView 컨트롤"의 '스마트버튼' 마우스로 클릭 -> "데이터 소스 구성" 마우스로 클릭하여 '마법사' 창을 통해 (SqlDataSource컨트롤에서와 같은 과정으로 하되, "Name", "Email", "PostIP"체크박스에만 체크한다.) 데이터베이스에 연결한다.
"FrmFormView.aspx"에서 코드작성 및 아래와 같이 디자인을 하고 "브라우저에서 보기"로 실행하여 웹 페이지에서 데이터를 입력한다.
[FrmFormView.aspx] 소스코드 및 디자인
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmFormView.aspx.cs" Inherits="FrmFormView" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
폼뷰 컨트롤을 사용해서 데이터 입력<br />
<br />
<asp:FormView ID="FormView1" runat="server" DataKeyNames="Num"
DataSourceID="sdsMemoWrite" DefaultMode="Insert">
<EditItemTemplate>
Num:
<asp:Label ID="NumLabel1" runat="server" Text='<%# Eval("Num") %>' />
<br />
Name:
<asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' />
<br />
Email:
<asp:TextBox ID="EmailTextBox" runat="server" Text='<%# Bind("Email") %>' />
<br />
PostIP:
<asp:TextBox ID="PostIPTextBox" runat="server" Text='<%# Bind("PostIP") %>' />
<br />
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True"
CommandName="Update" Text="업데이트" />
<asp:LinkButton ID="UpdateCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="취소" />
</EditItemTemplate>
<InsertItemTemplate>
Name:
<asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' />
<br />
Email:
<asp:TextBox ID="EmailTextBox" runat="server" Text='<%# Bind("Email") %>' />
<br />
PostIP:
<asp:TextBox ID="PostIPTextBox" runat="server" Text='<%# Bind("PostIP") %>' />
<br />
<asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True"
CommandName="Insert" Text="삽입" />
<asp:LinkButton ID="InsertCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="취소" />
</InsertItemTemplate>
<ItemTemplate>
Num:
<asp:Label ID="NumLabel" runat="server" Text='<%# Eval("Num") %>' />
<br />
Name:
<asp:Label ID="NameLabel" runat="server" Text='<%# Bind("Name") %>' />
<br />
Email:
<asp:Label ID="EmailLabel" runat="server" Text='<%# Bind("Email") %>' />
<br />
PostIP:
<asp:Label ID="PostIPLabel" runat="server" Text='<%# Bind("PostIP") %>' />
<br />
<asp:LinkButton ID="EditButton" runat="server" CausesValidation="False"
CommandName="Edit" Text="편집" />
<asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False"
CommandName="Delete" Text="삭제" />
<asp:LinkButton ID="NewButton" runat="server" CausesValidation="False"
CommandName="New" Text="새로 만들기" />
</ItemTemplate>
</asp:FormView>
<asp:SqlDataSource ID="sdsMemoWrite" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
DeleteCommand="DELETE FROM [Memos] WHERE [Num] = @Num"
InsertCommand="INSERT INTO [Memos] ([Name], [Email], [PostIP]) VALUES (@Name, @Email, @PostIP)"
SelectCommand="SELECT * FROM [Memos]"
UpdateCommand="UPDATE [Memos] SET [Name] = @Name, [Email] = @Email, [PostIP] = @PostIP WHERE [Num] = @Num">
<DeleteParameters>
<asp:Parameter Name="Num" Type="Int32" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Email" Type="String" />
<asp:Parameter Name="PostIP" Type="String" />
<asp:Parameter Name="Num" Type="Int32" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Email" Type="String" />
<asp:Parameter Name="PostIP" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
<br />
<br />
아무리 많은 필드를 가진 테이블에 대해서도<br />
입출력 기능을 1~2분내로 만들 수 있다...<br />
하지만, 현업에서는 안쓴다...<br />
고로, 테스트 용도로만 쓰자...<br />
</div>
</form>
</body>
</html>
-------------------------------------------------------------------------------------
[실행결과]
--> 처음 실행할 때 웹 페이지의 화면
--> 아래그림과 같이 각각의 텍스트박스에 테이터를 입력하고 "삽입"링크버튼(LinkButton)을 마우스로 클릭한 후...
--> 아래그림과 같이 '서버 탐색기'의 "Memos"테이블에서 "테이블 데이터 표시"를 마우스로 클릭하여 "Memos"테이블에 입력되어 있는 데이터를 확인해본다.
--> "Database.mdf"데이터베이스의 "Memos"테이블에 저장(Insert)된 데이터 화면.(FormView컨트롤을 사용해서 데이터를 입력(Insert)한 결과이다.)