ASP.NET에서 서버 데이터베이스 연동하는 방법
1) 비연동적 방법
2) 연동적 방법
아래 주석으로 설명!!
데이터베이스 연결링크!! ->
연결링크 마지막 password 의 **** 들은 진짜 password를 입력해야 한다.
//<--.cs file-->
//===============================================================================
// ADO.NET
// - 데이터베이스에 연결 처리하기 위한 클래스들의 모음
// - System.Data의 클래스들 을 ADO.NET이라 부른다
// - 주요 클래스 !!
// 1) SQLDataConnection : DB에 연결을 수행하는 객체 !!
// 2) SQLCommand : Connection객체가 연결한 DB에 명령을 수행하는 객체 !!
// 3) SQLDataAdapter : Command객체의 명령을 수행하고 결과값을 받아들이기 위한 객체 !!
// 4) DataSet : DB를 추상화한 클래스 !! --> table, 제약조건들을 포함하는 클래스!!
// --> db의 결과값을 저장하는 역할 !!
//===============================================================================
using System.Data; // DB관련 class들
using System.Data.SqlClient; // MS-SQL 전용 클래스 !!
using System.Data.OleDb; // MS-SQL을 제외한 클래스들(oracle)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ADOCRUD
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//DB 연결 : 비연결지향적인 방법
SqlConnection conn = new SqlConnection("데이터베이스 연결링크!!");
conn.Open();
SqlCommand cmd = new SqlCommand("select * from bit_studentinfo", conn);
SqlDataAdapter Adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
// Fill 메소드 : dataset 객체에 결과값을 채워온다.
Adapter.Fill(ds);
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
conn.Close();
}
// ADO.NET 2가지 DB접근방법을 제공 !!
// 1) 연결지향 접근
// 2) 비연결지향 접근
protected void btn_login_Click(object sender, EventArgs e)
{ // 연결지향적인 방법!! : SqlCommand
SqlConnection conn = new SqlConnection
("데이터베이스 연결링크!!");//데이터베이스-> 속성->
conn.Open();
SqlCommand cmd = new SqlCommand("select RPos from Bit_Room", conn);
SqlDataReader reader = cmd.ExecuteReader(); // 어떤 행에대한 포인터?(주소값?)같은 것을 가져옴, 커서?
// 읽어오기 !
while(reader.Read())
{
ListBox1.Items.Add( reader["RPos"].ToString());
}
//cmd.ExecuteScalar(); // 단일값 반환
//cmd.ExecuteNonQuery(); // 반환값이 없는 SQL
conn.Close();
}
// ExecuteScalar() 쓰는방법
protected void btn_login_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection
("Data Source=bhbd1mdmq7.database.windows.net;Initial Catalog=JongSeokDB;Persist Security Info=True;User ID=JongSeok;Password=q1233255!");
conn.Open();
string sql = @"select Count(*)
from bit_studentinfo
where sid = '"+ tb_id.Text+"' and spassword = '"+tb_pw.Text+"'";
SqlCommand cmd = new SqlCommand(sql, conn);
int Count = int.Parse(cmd.ExecuteScalar().ToString());
if (Count == 0)
{
lbl_ok.Text = "로그인 실패";
}
else
lbl_ok.Text = "로그인 성공";
}
}
}
//<--.aspx-->
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ADOCRUD.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" Height="124px" Width="627px"></asp:GridView>
<asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
<asp:Button ID="btn_room" runat="server" Text="Room" OnClick="btn_room_Click"/>
<br />
<asp:TextBox ID="tb_id" runat="server"></asp:TextBox>
<br />
<asp:TextBox ID="tb_pw" runat="server"></asp:TextBox>
<asp:Button ID="btn_login" runat="server" Text="LOGIN" OnClick="btn_login_Click" />
<br />
<asp:Label ID="lbl_ok" runat="server" Text=""></asp:Label>
<br />
</div>
</form>
</body>
</html>
'개발 노트 > 닷넷 프레임워크 수업 (2015-04 ~ 2015-08)' 카테고리의 다른 글
.NET Enterprise Architecture 2일 (0) | 2015.07.03 |
---|---|
.NET Enterprise Architecture 1일 (0) | 2015.07.03 |