量问题
一、获取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();//注意括号的使用