WebDataControl - SqlDataSource컨트롤
.NET프로그래밍/ASP.NET 3.5 SP1 2009. 10. 19. 12:07 |아래 그림과 같이 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)된 데이터 화면.
'.NET프로그래밍 > ASP.NET 3.5 SP1' 카테고리의 다른 글
WebDataControl - GridView 컨트롤 (데이터 출력 컨트롤) (0) | 2009.10.19 |
---|---|
WebDataControl - FormView컨트롤 (0) | 2009.10.19 |
WebReply (답변형 게시판) (0) | 2009.10.16 |
WebLoginControl (로그인 컨트롤) (0) | 2009.10.15 |
Web.sitemap (사이트맵패스 컨트롤) - 빵 조각(Bread Crumb) (0) | 2009.10.15 |