1 using System.Data.SqlClient; 2 using System.Data; 3 4 public partial class test4 : System.Web.UI.Page 5 { 6 protected void Page_Load(object sender, EventArgs e) 7 { 8 SqlConnection con = new SqlConnection(); 9 con.ConnectionString = "server=.;database=航空訂票系統;uid=sa;pwd=;"; 10 SqlCommand cmd = new SqlCommand(); 11 cmd.Connection = con; 12 SqlDataAdapter da = new SqlDataAdapter(); 13 cmd.CommandText = "select 用戶名 from 用戶表 "; 14 da.SelectCommand = cmd; 15 DataSet ds = new DataSet(); 16 try //連接數據庫異常處理 17 { 18 con.Open(); 19 try //填入dataset的異常處理 20 { 21 ds.Clear(); 22 da.Fill(ds, "用戶表"); /** 23 * 24 * 將da獲取到的表數據和結構填充到ds數據集中,ds相當於一個數據庫, 25 * 里面有很多表,第一個表就是ds.table[0]。我們限制的是表名為用戶表, 26 * 這個表名是自己設定的,在使用的時候就直接ds.table["用戶表"], 27 * 就選用da獲取到的數據表。 28 * 29 * **/ 30 if (ds.Tables["用戶表"].Rows.Count == 0) 31 { 32 Response.Write("沒有查詢到數據,請重試"); 33 } 34 else 35 { 36 Response.Write("<br>"); 37 for (int i = 0; i < ds.Tables["用戶表"].Rows.Count; i++) 38 { 39 Response.Write(ds.Tables["用戶表"].Rows[i]["用戶名"] + "<br>"); 40 41 } 42 43 44 } 45 con.Close(); 46 } 47 48 49 catch (SqlException) /** 50 * 51 * 這個異常拋出是對da.fill(ds."用戶表")是產生的數據操作異常 52 * 53 * **/ 54 { 55 Response.Write("數據操作出現異常,請檢查"); 56 con.Close(); 57 } 58 } 59 60 catch (Exception) /** 61 * 62 * 這個異常時拋出打開數據庫會出現的異常 63 * 64 * **/ 65 66 { 67 Response.Write("數據庫連接失敗"); 68 con.Close(); 69 } 70 71 } 72 }
在30行處應該還有一個拋出sql沒有數據的異常,但是不理解無數據跟數據為0條的差異。。。。郁悶
1 using System.Data.SqlClient; 2 using System.Data; 3 4 public partial class test4 : System.Web.UI.Page 5 { 6 protected void Page_Load(object sender, EventArgs e) 7 { 8 SqlConnection con = new SqlConnection(); 9 con.ConnectionString = "server=.;database=航空訂票系統;uid=sa;pwd=;"; 10 SqlCommand cmd = new SqlCommand(); 11 cmd.Connection = con; 12 SqlDataAdapter da = new SqlDataAdapter(); 13 cmd.CommandText = "select 用戶名 from 用戶表 where 用戶名='1'"; 14 da.SelectCommand = cmd; 15 DataSet ds = new DataSet(); 16 try //連接數據庫異常處理 17 { 18 con.Open(); 19 } 20 catch (Exception) /** 21 * 22 * 這個異常時拋出打開數據庫會出現的異常 23 * 24 * **/ 25 { 26 Response.Write("數據庫連接失敗"); 27 con.Close(); 28 } 29 try //填入dataset的異常處理 30 { 31 ds.Clear(); 32 da.Fill(ds, "用戶表"); /** 33 * 34 * 將da獲取到的表數據和結構填充到ds數據集中,ds相當於一個數據庫, 35 * 里面有很多表,第一個表就是ds.table[0]。我們限制的是表名為用戶表, 36 * 這個表名是自己設定的,在使用的時候就直接ds.table["用戶表"], 37 * 就選用da獲取到的數據表。 38 * 39 * **/ 40 } 41 catch (SqlException) /** 42 * 43 * 這個異常拋出是對da.fill(ds."用戶表")是產生的數據操作異常 44 * 45 * **/ 46 { 47 Response.Write("數據操作出現異常,請檢查"); 48 con.Close(); 49 } 50 try 51 { 52 if (ds.Tables["用戶表"].Rows.Count == 0) 53 { 54 Response.Write("沒有查詢到數據,請重試"); 55 } 56 else 57 { 58 Response.Write("<br>"); 59 for (int i = 0; i < ds.Tables["用戶表"].Rows.Count; i++) 60 { 61 Response.Write(ds.Tables["用戶表"].Rows[i]["用戶名"] + "<br>"); 62 63 } 64 } 65 con.Close(); 66 } 67 catch (SqlException) 68 { 69 Response.Write("無數據");//這個異常拋出很迷茫,怎樣才會出現 70 con.Close(); //怎么才會出現這種異常呢?望解答 71 } 72 73 } 74 75 }