8. SqlError 클래스
.NET프로그래밍/ADO.NET 2009. 9. 24. 14:07 |
==> [FrmSqlError.aspx] 소스 및 디자인
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FrmSqlError.aspx.cs" Inherits="FrmSqlError" %>
<!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:Button ID="btnConnect" runat="server" Text="연결"
onclick="btnConnect_Click" />
<asp:Label ID="lblError" runat="server" Text="" ForeColor="Red"></asp:Label>
</div>
</form>
</body>
</html>
=====================================================================================
==> [FrmSqlError.aspx.cs]
using System;
using System.Data;
using System.Data.SqlClient; //
public partial class FrmSqlError : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnConnect_Click(object sender, EventArgs e)
{
// 커넥션
SqlConnection con = new SqlConnection();
con.ConnectionString = "server=.;database=Market;uid=Market;pwd=670440;";
// 커맨드
SqlCommand cmd = new SqlCommand("Select * From Categories", con); // 생성자 사용
cmd.CommandType = CommandType.Text;
// 데이터 리더
try
{
con.Open(); // DB오픈과 동시에
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;
}
}
}
// SqlException 클래스 - SQL Server 가 경고나 오류를 반환하면 throw되는 예외입니다. 이 클래스는 상속될 수 없습니다.
// SqlErrorCollection 클래스 - .NET Framework Data Provider for SQL Server에서 생성된 오류를 모두 수집합니다. 이 클래스는 상속될 수 없습니다.
// SqlError 클래스 - SQL Server가 반환한 경고나 오류와 관련된 정보를 수집합니다.
=====================================================================================
[실행결과]
--> 위의 [FrmSqlError.aspx.cs]코드 내의 "커넥션"부분에서 "연결문자열"중 "Password"부분에 잘못된 값을 넣은 후, 웹페이지에서 '연결'버튼을 누르면 아래그림에서처럼 레이블에 "사용자 'Market'이(가) 로그인하지 못했습니다."라고 텍스트가 출력되며 '에러처리'된다.
'.NET프로그래밍 > ADO.NET' 카테고리의 다른 글
9. ConfigurationManager.ConnectionStrings 속성(한 곳에다 연결문자열 저장한 것을 불러오는 명령어) (0) | 2009.09.25 |
---|---|
ADO.NET복습 (0) | 2009.09.25 |
7. SqlDataReader.Read 메서드 (0) | 2009.09.24 |
6. SqlDataReader 클래스 (0) | 2009.09.24 |
5. SqlCommand 클래스 (0) | 2009.09.24 |