아래 그림과 같이 Visual Studio의 솔루션 탐색기에서 "App_Data"폴더에서 새 항목 추가를 선택한 다음





"SQL Server 데이터베이스"형식으로 데이터베이스 생성




솔루션 탐색기의 App_Data폴더에 생성된 데이터베이스인 "Database.mdf"




그러면  아래와 같이  web.config파일에 App_Data 폴더의 DB에 접근하는 데이터베이스 연결문자열이 생성된다.



[web.config]



<appSettings/>

 

 

    <!-- App_Data 폴더의 DB에 접근하는 데이터베이스 연결문자열 -->

    <connectionStrings>

        <add name="ConnectionString"

             connectionString="Data Source=.\SQLEXPRESS;

                AttachDbFilename=|DataDirectory|\Database.mdf;

                  Integrated Security=True;User Instance=True"

            providerName="System.Data.SqlClient" />

    </connectionStrings>

 

 

 

    <system.web>





서버탐색기의 [Database.mdf] - [테이블]에서 "새 테이블 추가"로 "Num" / "Name" / "Email" / "PostIP"항목의 필드가 들어가 있는 테이블을 아래그림과 같이 하나 만들고 테이블 이름은 "Memos"라고 짓는다.









"SqlDataSource"컨트롤에서 "Database.mdf"데이터베이스에 접근하는 데이터베이스 연결문자열을 얻어와서 "Database.mdf"데이터베이스에 연결하기 위해 아래그림과 같은 과정을 한다.



"Default.aspx" 디자인 모드에서 <div>태그안에 "SqlDataSource"컨트롤 "드래그&드롭"




"SqlDataSource"컨트롤의 "스마트버튼"에서 "데이터 소스 구성" 클릭.




"데이터 소스 구성"마법사 창에서 "ConnectionString"으로 연결 문자열 설정.




아래 그림의 마법사 창에서 (*)에 체크박스 표시하면 아래 SELECT문(SELECT * FROM [Memos])이 나온다. '다음'버튼 클릭.



아래그림의 마법사 창에서 '마침'버튼 클릭.






[Default.aspx] 소스코드 및 디자인



<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!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>

   

        <asp:SqlDataSource ID="SqlDataSource1" runat="server"

            ConnectionString="<%$ ConnectionStrings:ConnectionString %>"

            SelectCommand="SELECT * FROM [Memos]"></asp:SqlDataSource>

   

    </div>

    </form>

</body>

</html>

 









위의 과정을 통해 "SqlDataSource"컨트롤에 "Database.mdf"데이터베이스의 "Memos"테이블을 연결하였다.
이제 "Database.mdf"데이터베이스의 "Memos"테이블에 "ADO.NET을 사용해서 데이터를 입력(Insert)"하는 방법을 사용하여 데이터를 입력후, "Database.mdf"데이터베이스의 "Memos"테이블에 입력된 데이터를 확인한.
우선 "ADO.NET을 사용해서 데이터를 입력(Insert)"하기 위해, "C:\...\WebDataControl\"폴더에 "새 항목 추가"로 "웹 폼(Web Form)"을 하나 생성한 후 이름은 "FrmAdoInsert.aspx"라고 짓는다. 
"FrmAdoInsert.aspx" 및 "FrmAdoInsert.aspx.cs"에 코드작성 및 디자인을 하고 "브라우저에서 보기"를 통해 데이터를 입력한다.




[FrmAdoInsert.aspx] 소스코드 및 디자인



<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmAdoInsert.aspx.cs" Inherits="FrmAdoInsert" %>

 

<!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 />

        ADO.NET을 사용해서 입력<br />

        <br />

        이름 :

        <asp:TextBox ID="txtName" runat="server"></asp:TextBox>

        <br />

        이메일 :

        <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>

        <br />

        IP주소 :

        <br />

        <br />

        <asp:Button ID="btnAdd" runat="server" Text="입력" onclick="btnAdd_Click" />

        <br />

        <br />

   

    </div>

    </form>

</body>

</html>

 










-------------------------------------------------------------------------------------



[FrmAdoInsert.aspx.cs] 소스코드



using System;

using System.Data.SqlClient;

using System.Configuration;

using System.Data;

 

public partial class FrmAdoInsert : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

 

    protected void btnAdd_Click(object sender, EventArgs e)

    {

        SqlConnection con = new SqlConnection(

            ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

        con.Open();

 

        SqlCommand cmd = new SqlCommand();

        cmd.Connection = con;

        cmd.CommandText = "Insert Into Memos Values(@Name, @Email, @PostIP)";

        cmd.CommandType = CommandType.Text;

 

        cmd.Parameters.AddWithValue("@Name", txtName.Text);

        cmd.Parameters.AddWithValue("@Email", txtEmail.Text);

        cmd.Parameters.AddWithValue("@PostIP", Request.UserHostAddress);

 

        cmd.ExecuteNonQuery(); // 저장

 

        // 나 자신으로 다시 이동 : 새로고침과 동일하겠죠???

        Response.Redirect(Request.ServerVariables["SCRIPT_NAME"]);

 

        con.Close();

    }

}

 

 



-------------------------------------------------------------------------------------



[실행결과]

--> 첫 실행화면. 아래그림의 웹 페이지에서 "이름", "이메일"텍스트박스에 데이터를 입력(Insert)하고 '입력' 버튼을 누른다.





아래그림과 같이 '서버 탐색기'의 "Memos"테이블에서 "테이블 데이터 표시"를 마우스로 클릭하여 "Memos"테이블에 입력되어 있는 데이터를 확인해본다.




--> "Database.mdf"데이터베이스의 "Memos"테이블에 저장(Insert)된 데이터 화면.











Posted by holland14
: