一、获取sql错误号
try
{
row = CmdObj.ExecuteNonQuery(); //执行sql语句
}
catch(SqlException e)
{
switch(e.Errors[0].Number)
{
case 547:
page.Response.Write ( "<p><b>数据库中还没有建立这 </b><br>");
return -1;
case 2627:
page.Response.Write ( "<p><b>中已经存在这一 </b><br>");
return 0;
default:
page.Response.Write ( "<p><b>操作数据库出现其他错误! </b><br>");
return -2;
}
发现一个捕获异常的技巧,有时不知道会发生具体哪种类型异常,可以将 catch的异常类型暂时设为Exception,
再利用Exception的GetType()函数输 出异常类型,这个类型就是具体的异常类型了.
二、 application存储web全局变量
//建立全局的连接对象
//在gloabal文件中
protected void Application_Start(Object sender, EventArgs e)
{
EntryFilePath = Server.MapPath ("Entries");
//建立全局的连接对象
Application["Con"] = new SqlConnection ("Data Source=Localhost;Initial Catalog=databasename;User ID=xxxxx;Pwd=");
}
使用全局连接变量
String SqlCmd = "SELECT * FROM BookChapter WHERE (bookID = @bookID AND ChapterID = @chapterID)";
//page.Application["Con"]是global里建立 的全局的连接对象,必须强制类型转换为SqlConnection类型
SqlCommand CmdObj = new SqlCommand(SqlCmd, (SqlConnection)(Application["Con"]));
((SqlConnection)(Application["Con"])).Open();//注意括号的使用