ASP.NET

ASP.NET을 활용한 학생 관리 시스템 만들기

지오준 2023. 12. 18.
반응형

소개

ASP.NET은 웹 애플리케이션을 개발하기 위한 강력한 프레임워크 중 하나로, C# 언어를 기반으로 하고 있습니다. 이번 블로그에서는 ASP.NET Web Forms를 사용하여 간단한 학생 관리 시스템을 만들어보겠습니다.


1. 프로젝트 시작하기

먼저, Visual Studio를 열고 새로운 ASP.NET Web Forms 프로젝트를 생성합니다. "File" -> "New" -> "Project"를 선택하고, "ASP.NET Web Forms App" 템플릿을 선택하여 프로젝트를 생성합니다.


2. 데이터 모델링

학생 정보를 저장하기 위한 데이터 모델을 만듭니다. Student 클래스를 생성하여 학생의 기본 정보를 담을 수 있습니다.

public class Student
{
    public int StudentId { get; set; }
    public string Name { get; set; }
    public string Grade { get; set; }
}

3. 데이터베이스 연결

데이터베이스는 Entity Framework를 사용하여 연결합니다. DbContext 클래스를 만들고, 학생 정보를 저장할 테이블을 정의합니다.

public class SchoolDbContext : DbContext
{
    public DbSet<Student> Students { get; set; }
}

4. 데이터 입력과 출력

4.1 학생 목록 출력

protected void Page_Load(object sender, EventArgs e)
{
    using (var context = new SchoolDbContext())
    {
        var students = context.Students.ToList();
        GridView1.DataSource = students;
        GridView1.DataBind();
    }
}

4.2 학생 추가

protected void btnAdd_Click(object sender, EventArgs e)
{
    using (var context = new SchoolDbContext())
    {
        var newStudent = new Student
        {
            Name = txtName.Text,
            Grade = txtGrade.Text
        };

        context.Students.Add(newStudent);
        context.SaveChanges();

        // 추가 후 목록 갱신
        Page_Load(sender, e);
    }
}

4.3 학생 수정 및 삭제

GridView에서 선택된 행의 데이터를 수정하거나 삭제할 수 있도록 구현합니다.

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    int studentId = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);

    TextBox txtName = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtEditName");
    TextBox txtGrade = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtEditGrade");

    using (var context = new SchoolDbContext())
    {
        var student = context.Students.Find(studentId);
        if (student != null)
        {
            student.Name = txtName.Text;
            student.Grade = txtGrade.Text;
            context.SaveChanges();
        }
    }

    GridView1.EditIndex = -1;
    Page_Load(sender, e);
}

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    int studentId = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);

    using (var context = new SchoolDbContext())
    {
        var student = context.Students.Find(studentId);
        if (student != null)
        {
            context.Students.Remove(student);
            context.SaveChanges();
        }
    }

    Page_Load(sender, e);
}

마무리

이렇게 간단한 학생 관리 시스템을 만들었습니다. ASP.NET을 사용하면 데이터베이스 연동, 데이터 입력 및 출력 등을 쉽게 구현할 수 있습니다. 물론, 실제 프로젝트에서는 보안, 성능 최적화 등 다양한 고려 사항이 있겠지만, 이 예제를 기반으로 다양한 기능을 추가하여 더 복잡하고 유용한 시스템을 만들 수 있습니다.

반응형

댓글