ASP.NET

48.C# ASP.NET - SqlDataSource 와 ADO [DataControl 1]

Godffs 2009. 10. 19. 10:15
반응형
SqlDataSource 컨트롤 예제입니다.
ADO.NET 코드로 작성되었습니다.

새 프로젝트 - 새 웹 사이트 추가 ( WebDataControl )
App_Data 폴더에 DB를 추가합니다.
새 항목 추가 - SQL Server 데이터베이스 ( Database.mdf )

추가한 DB(데이터베이스)에 테이블을 만들어 줍니다.

테이블 이름 : Memos
열이름
데이터 형식
Null 허용
Num
int         

 Name
   varchar(25)

 Email    varchar(50)
O
   PostIP
   varchar(15)
O

그림으로 보기

추가된 DB를 연결 시켜줍니다.
프로젝트를 추가 했을때 기본적으로 생성된 Default.aspx 페이지에 SqlDataSource 컨트롤을 사용합니다.
도구 - 데이터 - SqlDataSource 컨트롤 추가 및 직접 코드 작성
Default.aspx

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

        </asp:SqlDataSource>

    </div>

    </form>

</body>

</html>


SqlDataSource 컨트롤을 이용해서 추가한 Database.mdf를 연결 하기 위해
Default.aspx 의 디자인 모드로 이동합니다.
Default.aspx 디자인 영역

[그림48-2]


[그림48-3]

연결 끝!

ADO.NET 코드를 이용하여 DB에 값을 저장하는 예제입니다.
새 항목 추가 - WebForm을 추가합니다. (FrmAdoInsert.aspx)
FrmAdoInsert.aspx

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>       

        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

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();

}


결과확인

[그림48-4]


[그림48-5]



반응형