ASP.NET

07.ADO.NET - SqlError

Godffs 2009. 9. 24. 14:04
반응형
Error 결과를 출력하는 예제입니다.

FrmSqlError.aspx

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

<head runat="server">

    <title></title>

</head>

<body>

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

    <div>

   

        <asp:Button ID="btnConnect" runat="server" Text="연결"

            onclick="btnConnect_Click" />

        <asp:Label ID="lblError" runat="server" Text=""

            ForeColor="Red"></asp:Label>

   

    </div>

    </form>

</body>

</html>


Error 처리가 잘되는지 확인 하기 위해서 데이터베이스 로그인 비밀번호를
틀리게 입력합니다.

FrmSqlError.aspx.cs

protected void btnConnect_Click(object sender, EventArgs e)

{

   // 커넥션

   SqlConnection con = new SqlConnection();

   con.ConnectionString = "server=WINDOWS-XP\\SQLSERVER;database=Test;uid=Test;pwd=123;";       

   // 커멘드

   SqlCommand cmd = new SqlCommand("Select * From Categories", con);

   cmd.CommandType = CommandType.Text;

   // 데이터 리더

   try {

       con.Open(); // 오픈과 동시에

       SqlDataReader dr = cmd.ExecuteReader(); // 명령어 실행과 동시에

       con.Close(); // 닫기

   }

   catch (SqlException se) { //[1] 에러 정보 담는 그릇 : SqlException

       SqlErrorCollection sec = se.Errors; //[2] 에러 담는 컬렉션

       // 에러를 묶어서 출력

       string msg = "";

       foreach (SqlError item in sec) { //[3] 에러 하나를 담는 클래스

           msg += item.Message + "<br />"; // .Message : 에러 메시지

       }

       this.lblError.Text = msg;

   }

}


결과확인

[그림7-1]



반응형