"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="업데이트" />

                &nbsp;<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="삽입" />

                &nbsp;<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="편집" />

                &nbsp;<asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False"

                    CommandName="Delete" Text="삭제" />

                &nbsp;<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)한 결과이다.)






Posted by holland14
: