기본 DB 연동 코드 (Sql 파일 + Insert, FillList)
Asp.NET 2008. 10. 16. 21:50 |Asp.Net에서 사용하는 DB 관련 기본 코드 입니다.
1. DB를 생성하고 6개의 기능별 요악한 쿼리 파일
2. DB의 내용을 입력하는 코드
3. DB의 내용을 가져와서 DataGrid에 뿌려주는 코드
DB 기본 쿼리 파일
use exam
go
-- 고객 테이블
Create Table dbo.Customers
(
CustomerID int Identity(1,1) Primary Key Not NULL, --일련번호
Name Varchar(25) Null, --이름
Email Varchar(100) Null, --이메일
RegistDate DateTime Default(GetDate()) --등록일
)
Go
--입력 예시
Insert Customers Values('홍길동', 'h@h.com', GetDate())
--출력 예시
Select * From Customers Order By CustomerID Desc
--세부출력 예시
Select * From Customers Where Name = '홍길동'
--수정 예시
Begin Tran
Update Customers
Set Name = '백두산', Email = 'b@b.com'
Where Name = '홍길동' And Email = 'h@h.com'
--RollBack Tran
Commit Tran
--삭제 예시
Delete Customers Where Name = '백두산'
--검색 예시
Select * From Customers
Where Name Like '%백%' Or Email Like '%b%'
cs 기본 파일
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ReadData();
}
}
private void ReadData()
{
string strSql = "Select * From Customers Order By CustomerID Desc";
// 커넥션
SqlConnection objCon = new SqlConnection();
objCon.ConnectionString = "Password=gsi7091;Persist Security Info=True;User ID=exam;Initial Catalog=exam;Data Source=GSI\\SQLEXPRESS";
objCon.Open();
// 커멘드
SqlCommand objCmd = new SqlCommand();
objCmd.Connection = objCon;
objCmd.CommandText = strSql;
objCmd.CommandType = CommandType.Text;
// 데이터 리더 또는 데이터어뎁트 + 데이터 셋
SqlDataReader objDr = objCmd.ExecuteReader();
// 출력
this.dgList.DataSource = objDr;
this.dgList.DataBind();
// DataGrid 사용할때는 Close 필요 없음
//objCon.Close();
}
protected void btnWrite_Click(object sender, EventArgs e)
{
// 변수
string strName = this.txtName.Text;
string strEmail = this.txtEmail.Text;
string strSql = "Insert Customers Values(@Name, @Email, GetDate())";
// 커넥션
SqlConnection objCon = new SqlConnection();
objCon.ConnectionString = "Password=gsi7091;Persist Security Info=True;User ID=exam;Initial Catalog=exam;Data Source=GSI\\SQLEXPRESS";
objCon.Open();
// 커멘드
SqlCommand objCmd = new SqlCommand();
objCmd.Connection = objCon;
objCmd.CommandText = strSql;
objCmd.CommandType = CommandType.Text;
// 파라미터 추가
objCmd.Parameters.Add("@Name", SqlDbType.VarChar, 25);
objCmd.Parameters["@Name"].Value = strName;
objCmd.Parameters.Add("@Email", SqlDbType.VarChar, 100);
objCmd.Parameters["@Email"].Value = strEmail;
// 실행
objCmd.ExecuteNonQuery();
objCon.Close();
ReadData(); // 다시 출력
}
}
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:Label ID="Label1" runat="server" Text="이름"></asp:Label>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtName" ErrorMessage="이름을 작성해 주세요."></asp:RequiredFieldValidator>
<br />
<asp:Label ID="Label2" runat="server" Text="이메일"></asp:Label>
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtEmail" ErrorMessage="이메일을 정확하게 작성해 주세요."
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
<br />
<asp:ValidationSummary ID="ValidationSummary1" runat="server"
ShowMessageBox="True" ShowSummary="False" />
<asp:Button ID="btnWrite" runat="server" onclick="btnWrite_Click" Text="고객등록" />
<br />
<asp:GridView ID="dgList" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>