성적 관리: 비연결 기반

2011. 7. 10. 01:41
반응형

 


				

 

public partial class select : System.Web.UI.Page
{
    SqlConnection conn; // SQL 
데이터베이스 연결용
    SqlCommand cmdSelect; // SQL 
서버에 대해 실행할 문장
    SqlDataAdapter adapter; //DataSet
 채우고 DB 업데이트  데이터 명령을 저장
    DataSet dataset; // 
메모리 내의 데이터 캐시

    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection("server=(local);database=
주소록;uid=sa;pwd=romantic;"); // 주소록 DB 연결
        SqlCommand comm = new SqlCommand("select * from tblstudent", conn); // tblstudent 
테이블 선택
        SqlDataAdapter adapter = new SqlDataAdapter(); //  SQL DB
 업데이트하는  사용할 데이터 명령 집합과 DB 연결
        adapter.SelectCommand = comm; // 
위에 있는 comm 연결
        DataSet dataset = new DataSet(); // dataset
이라고 하는 DataSet(메모리 안의 DB 캐시생성 
        adapter.Fill(dataset, "tblstudent"); // dataset
 tblstudent 채운다.
        DataTable table = dataset.Tables["tblstudent"]; // table
 dataset으로 내용 채우기
        DataRow[] row = table.Select(); // row
 table 저장

        // 
본문 시작
        Response.Write("<center><h2>
성적 검색_비연결기반</h2><hr><br><br>");
        Response.Write("<p>
성적 확인을 위해 이름을 클릭하시오<br><br>");
        Response.Write("<table border=1 width=450>");
        Response.Write("<tr><th>
번호<th>이름<th>전화번호<th>주소");

        // 
자료의 수만큼 출력
        for (int i = 0; i < row.Length; i++)
        {
            Response.Write("<tr align=center>");
            Response.Write("<td>" + row[i]["num"]);
            Response.Write("<td> <a href=login.aspx?id=" + row[i]["num"] + ">" + row[i]["name"] + "</a>");
            Response.Write("<td>" + row[i]["tel"]);
            Response.Write("<td>" + row[i]["addr"]);
        }

        Response.Write("</td></tr></table><p /><a href=main.aspx>[ 
메인페이지 ]</a>");
    }
}

 

 

 


				

 

public partial class login : System.Web.UI.Page
{
    SqlConnection conn; // SQL 
데이터베이스 연결용
    SqlCommand cmdSelect; // SQL 
서버에 대해 실행할 문장
    SqlDataAdapter adapter; //DataSet
 채우고 DB 업데이트  데이터 명령을 저장
    DataSet dataset; // 
메모리 내의 데이터 캐시

    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        conn = new SqlConnection("server=(local);database=
주소록;uid=sa;pwd=romantic;"); // 주소록 DB 연결
        cmdSelect = new SqlCommand("select * from tblstudent", conn); // tblstudent 
테이블 선택
        adapter = new SqlDataAdapter(); //  SQL DB
 업데이트하는  사용할 데이터 명령 집합과 DB 연결
        adapter.SelectCommand = cmdSelect; // 
위에서 정의한 cmdSelect 연결해줌

        dataset = new DataSet();  // dataset
이라고 하는 DataSet(메모리 안의 DB 캐시생성 
        adapter.Fill(dataset, "tblstudent"); // dataset
 tblstudent 채운다

        string hak = Request.QueryString["id"]; // 
이전 페이지의 id 정보를 저장
        string user_id, pass; // 
사용자 id, password 저장할 공간

        DataTable table = dataset.Tables["tblstudent"]; // table 
 tblstudent 내용 채우기
        DataRow[] orow = table.Select("num='" + hak + "'"); // 
테이블의 num hak 일치여부확인
        user_id = orow[0]["id"].ToString(); // user_id
 id 정보 저장
        pass = orow[0]["pass"].ToString(); // pass
 password 정보 저장
        if (user_id == TextBox1.Text) // 
사용자 이름과 textbox1 일치여부 비교
        {
            if (pass != TextBox2.Text) // 
비밀번호 일치여부 비교
                Response.Write("<script>alert('
비밀번호가 일치하지 않습니다.');history.back();</script>");
            else // 
비밀번호까지 맞으면 analysis.aspx 이동(성적을 특정하기 위한 hak 변수 넘겨줌)
                Response.Redirect("analysis.aspx?id=" + hak);
        }
        else // 
아이디가 존재하지 않을 
            Response.Write("<script>alert('
존재하지 않는 아이디 입니다.');history.back();</script>");
    }
    protected void Button2_Click(object sender, EventArgs e) // 
취소 버튼
    {
        Response.Redirect("select.aspx");
    }
}

 

 

 


				

 

public partial class analysis : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string idd = Request.QueryString["id"]; // 
이전 페이지의 id값을 받아옴
        SqlConnection conn = new SqlConnection("Server=(local);Database=
주소록;uid=sa;pwd=romantic;"); // 주소록 DB 연결
        SqlCommand comm = new SqlCommand("select * from tblstudent", conn); // tblstudent 
테이블 선택
        SqlDataAdapter adapter = new SqlDataAdapter(); //  SQL DB
 업데이트하는  사용할 데이터 명령 집합과 DB 연결
        adapter.SelectCommand = comm; // 
위에서 정의한 comm 연결해줌
        DataSet dataset = new DataSet(); // dataset
이라고 하는 DataSet(메모리 안의 DB 캐시생성 
        adapter.Fill(dataset, "tblstudent"); // dataset
 tblstudent 채운다
        DataTable table = dataset.Tables["tblstudent"]; // table
 tblstudent 저장
        DataRow[] row = table.Select("num=" + idd); // num
 idd 일치하는 것을 선택해서 저장
        // 
본문시작
        Response.Write("<center><h2>" + row[0]["name"] + "
님의 성적분석</h2><hr><br>");
        Response.Write("<table border=1 width=300>");
        Response.Write("<tr><th>
번호 <td align=center>" + row[0]["num"]); //  성적 출력
        Response.Write("<tr><th>
국어 <td align=center>" + row[0]["kor"]);
        Response.Write("<tr><th>
영어 <td align=center>" + row[0]["eng"]);
        Response.Write("<tr><th>
수학 <td align=center>" + row[0]["mat"]);
        Response.Write("<tr><th>
과학 <td align=center>" + row[0]["sci"]);
        // 
 
        int ss = (int)row[0]["kor"] + (int)row[0]["eng"] + (int)row[0]["mat"] + (int)row[0]["sci"];
        double av = ss / 4.0; // 
평균
        string gr; // 
학점
        switch ((int)(av / 10.0)) // 
학점은 평균을 10으로 나누어 계산
        {
            case 10:
            case 9:
                gr = "A";
                break;
            case 8:
                gr = "B";
                break;
            case 7:
                gr = "C";
                break;
            case 6:
                gr = "D";
                break;
            default:
                gr = "F";
                break;
        }
        Response.Write("<tr><th>
합계 <td align=center>" + ss); // 합계
        Response.Write("<tr><th>
평균 <td align=center>" + Math.Round(av, 2)); // 평균 출력
        Response.Write("<tr><th>
학점 <td align=center>" + gr); // 학점
        Response.Write("</table>");
        Response.Write("<br><br><p> [<a href=select.aspx>
검색페이지</a>]");

    }
}

 

 

 

 


				

 

public partial class input : System.Web.UI.Page
{
    SqlConnection conn; // SQL 
데이터베이스 연결용
    SqlCommand cmdSelect, cmdInsert; // SQL 
서버에 대해 실행할 문장
    SqlDataAdapter adapter; //DataSet
 채우고 DB 업데이트  데이터 명령을 저장
    DataSet dataset; // 
메모리 내의 데이터 캐시
    string a;
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Button1_Click1(object sender, EventArgs e)
    {
        string str1 = "server=(local);database=
주소록;uid=sa;pwd=romantic;"// 주소록 DB 연결
        conn = new SqlConnection(str1);
        string str = "insert into tblstudent values(@num,@name,@id,@pass,@tel,@addr,@ban,@kor,@eng,@mat,@sci)";
        // 
별칭 생성(순서 중요)
        cmdInsert = new SqlCommand(str, conn); // 
주소록 DB에서 str 입력 예고
        cmdInsert.Parameters.Add(new SqlParameter("@num"SqlDbType.Char, 3, "num")); // 
자료형에 맞는 선언
        cmdInsert.Parameters.Add(new SqlParameter("@name"SqlDbType.VarChar, 50, "name"));
        cmdInsert.Parameters.Add(new SqlParameter("@id"SqlDbType.VarChar, 50, "id"));
        cmdInsert.Parameters.Add(new SqlParameter("@pass"SqlDbType.VarChar, 50, "pass"));
        cmdInsert.Parameters.Add(new SqlParameter("@tel"SqlDbType.VarChar, 50, "tel"));
        cmdInsert.Parameters.Add(new SqlParameter("@addr"SqlDbType.VarChar, 50, "addr"));
        cmdInsert.Parameters.Add(new SqlParameter("@ban"SqlDbType.Char, 1, "ban"));
        cmdInsert.Parameters.Add(new SqlParameter("@kor"SqlDbType.Int, 4, "kor"));
        cmdInsert.Parameters.Add(new SqlParameter("@eng"SqlDbType.Int, 4, "eng"));
        cmdInsert.Parameters.Add(new SqlParameter("@mat"SqlDbType.Int, 4, "mat"));
        cmdInsert.Parameters.Add(new SqlParameter("@sci"SqlDbType.Int, 4, "sci"));
        cmdSelect = new SqlCommand("select * from tblstudent", conn); // tblstudent 
테이블 선택
        adapter = new SqlDataAdapter(); //  SQL DB
 업데이트하는  사용할 데이터 명령 집합과 DB 연결 
        adapter.SelectCommand = cmdSelect; // 
위의 cmdSelect 연결
        adapter.InsertCommand = cmdInsert; // 
위의 cmdInsert 연결
        dataset = new DataSet(); // dataset
이라고 하는 DataSet(메모리 안의 DB 캐시생성 
        adapter.Fill(dataset, "tblstudent"); // dataset
 tblstudent 채운다
        DataTable table = dataset.Tables["tblstudent"]; // table
 tblstudent 저장
        DataRow[] row = table.Select("num = '" + TextBox1.Text.ToString() + "'"); // 
테이블의 num 값이 textbox1 일치하는 것을 선택
        if (row.Length == 0) // 
일치하는 자료가 없을 (입력 가능)
        {
            DataRow row1 = table.NewRow();
            row1["num"] = TextBox1.Text.ToString(); // 
텍스트박스에 입력한  저장
            row1["name"] = TextBox2.Text.ToString();
            row1["id"] = TextBox3.Text.ToString();
            row1["pass"] = TextBox1.Text.ToString();
            row1["tel"] = TextBox4.Text.ToString();
            row1["addr"] = TextBox5.Text.ToString();
            row1["ban"] = TextBox6.Text.ToString();
            row1["kor"] = TextBox7.Text.ToString();
            row1["eng"] = TextBox8.Text.ToString();
            row1["mat"] = TextBox9.Text.ToString();
            row1["sci"] = TextBox10.Text.ToString();
            table.Rows.Add(row1); // 
추가
            adapter.Update(dataset, "tblstudent"); // 
실제 DB 반영
            Response.Write("<script>alert('
새로운 레코드가 추가되었습니다.');</script>"); // 추가 여부를 경고창으로 표시
            a = TextBox1.Text;
            Response.Redirect("data.aspx?id="+a); // data.aspx
 이동, TextBox1 이름을 전달
        }
        else // 
이미 자료가 있으면 추가 불가
        {
            Response.Write("<script>alert('
존재하는 레코드입니다.');</script>");
            TextBox1.Text = "";
            TextBox1.Focus();
        }
    }
}

public partial class delete : System.Web.UI.Page
{
    SqlConnection conn; // SQL 
데이터베이스 연결용
    SqlCommand comddelete, comdselect; // SQL 
서버에 대해 실행할 문장
    SqlDataAdapter adapter; //DataSet
 채우고 DB 업데이트  데이터 명령을 저장
    DataSet dataset; // 
메모리 내의 데이터 캐시

    DataTable table;
    DataRow[] row;

    protected void Page_Load(object sender, EventArgs e)
    {
        string idd = Request.QueryString["id"]; // 
이전 페이지에서 가져온 id정보
        conn = new SqlConnection("server=(local);database=
주소록;uid=sa;pwd=romantic;"); // 주소록 DB 연결
        adapter = new SqlDataAdapter(); // SQL DB
 업데이트하는  사용할 데이터 명령 집합과 DB 연결
        dataset = new DataSet(); // dataset
이라고 하는 DataSet(메모리 안의 DB 캐시생성 

        comddelete = new SqlCommand("delete from tblstudent where num = @numm", conn); // tblstudent
에서 num값이 일치하는 자료 제거
        comddelete.Parameters.Add(new SqlParameter("@numm"SqlDbType.Char, 3, "num")); // 
자료형과 일치하도록 지정
        comdselect = new SqlCommand("select * from tblstudent where num = '" + idd + "'", conn); // tblstudent 
테이블에서 num값과 idd 값이 일치하는  선택
        
        adapter.SelectCommand = comdselect; // 
위에 있는 comdselect 연결
        adapter.Fill(dataset, "tblstudent"); // // dataset
 tblstudent 채운다

        table = dataset.Tables["tblstudent"]; // table
 tblstudent 저장
        row = table.Select("num = " + idd); // num
 idd값과 같은 것을 저장
        row[0].Delete(); // 
자료 삭제

        adapter.DeleteCommand = comddelete; // 
위에 있는 comddelete 연결
        adapter.Update(table); // 
실제 DB 반영

        Response.Write("<script> alert('1
개의 Row 삭제되었습니다.'); </script>"); // 알림
        Response.Redirect("select3.aspx"); // select3.aspx
 다시 이동
    }
}

 

 

 

 


				

 

protected void Page_Load(object sender, EventArgs e)
    {
        idd = Request.QueryString["id"]; // 
이전 페이지의 id  가져옴
        conn = new SqlConnection("server=(local);database=
주소록;uid=sa;pwd=romantic;"); // 주소록 DB 연결
        comdselect = new SqlCommand("select * from tblstudent where num = '" + idd + "'", conn); // tblstudent 
테이블에서 num값이 idd 일치하는  선택
        adapter = new SqlDataAdapter(); // SQL DB
 업데이트하는  사용할 데이터 명령 집합과 DB 연결
        adapter.SelectCommand = comdselect; // 
위에 있는 comdselect 연결
        dataset = new DataSet(); // dataset
이라고 하는 DataSet(메모리 안의 DB 캐시생성 
        adapter.Fill(dataset, "tblstudent"); // dataset
 tblstudent 채운다
        table = dataset.Tables["tblstudent"]; // table
 tblstudent 저장
        row = table.Select(); // 
선택된 table row 저장
        Label1.Text = row[0]["num"].ToString(); // 
라벨 초기화(우측 텍스트박스와 비교 위해)
        Label2.Text = row[0]["name"].ToString();
        Label3.Text = row[0]["id"].ToString();
        Label4.Text = row[0]["tel"].ToString();
        Label5.Text = row[0]["addr"].ToString();
        Label6.Text = row[0]["ban"].ToString();
        Label7.Text = row[0]["kor"].ToString();
        Label8.Text = row[0]["eng"].ToString();
        Label9.Text = row[0]["mat"].ToString();
        Label10.Text = row[0]["sci"].ToString();
        Label11.Text = row[0]["pass"].ToString();
    }
    protected void Button1_Click1(object sender, EventArgs e) // 
수정
    {
        cmdupdate = new SqlCommand("update tblstudent set name=@namee, id=@idd, pass=@passs, tel=@tell, addr=@addrr, ban=@bann, kor=@korr, eng=@engg, mat=@matt, sci=@scii where num=@numm", conn); // tblstudent
 업데이트
        adapter.UpdateCommand = cmdupdate; // cmdupdate
 연결
        cmdupdate.Parameters.Add(new SqlParameter("@numm"SqlDbType.Char, 3, "num")); // 
정확한 자료형 일치시키기
        cmdupdate.Parameters.Add(new SqlParameter("@namee"SqlDbType.VarChar, 50, "name"));
        cmdupdate.Parameters.Add(new SqlParameter("@idd"SqlDbType.VarChar, 50, "id"));
        cmdupdate.Parameters.Add(new SqlParameter("@passs"SqlDbType.VarChar, 50, "pass"));
        cmdupdate.Parameters.Add(new SqlParameter("@tell"SqlDbType.VarChar, 50, "tel"));
        cmdupdate.Parameters.Add(new SqlParameter("@addrr"SqlDbType.VarChar, 50, "addr"));
        cmdupdate.Parameters.Add(new SqlParameter("@bann"SqlDbType.Int, 1, "ban"));
        cmdupdate.Parameters.Add(new SqlParameter("@korr"SqlDbType.Int, 4, "kor"));
        cmdupdate.Parameters.Add(new SqlParameter("@engg"SqlDbType.Int, 4, "eng"));
        cmdupdate.Parameters.Add(new SqlParameter("@matt"SqlDbType.Int, 4, "mat"));
        cmdupdate.Parameters.Add(new SqlParameter("@scii"SqlDbType.Int, 4, "sci"));
        row[0]["num"] = TextBox1.Text.ToString(); // row
  요소마다 해당되는  대입(TextBox)
        row[0]["name"] = TextBox2.Text.ToString();
        row[0]["id"] = TextBox3.Text.ToString();
        row[0]["tel"] = TextBox4.Text.ToString();
        row[0]["addr"] = TextBox5.Text.ToString();
        row[0]["ban"] = TextBox6.Text.ToString();
        row[0]["kor"] = TextBox7.Text.ToString();
        row[0]["eng"] = TextBox8.Text.ToString();
        row[0]["mat"] = TextBox9.Text.ToString();
        row[0]["sci"] = TextBox10.Text.ToString();
        row[0]["pass"] = TextBox11.Text.ToString();
        adapter.Update(dataset, "tblstudent"); // 
실제 DB 반영
        Response.Redirect("data.aspx?id=" + idd); // 
수정  결과 보기 위해 data.aspx 이동
        
    }
}

반응형

'프로그래밍 실습 > ASP' 카테고리의 다른 글

회원 관리  (0) 2011.07.10
,