ADO.NET SqlCommand一.創(chuàng)建SqlCommand對(duì)象的方法 1.cmd=new SqlCommand(); //直接創(chuàng)建 2.cmd=new SqlCommand(strSQL,cn); //調(diào)用構(gòu)造函數(shù)創(chuàng)建 3.cmd=cn.CreateCommand(); //使用SqlConnectiion對(duì)象的CreateCommand方法 二.執(zhí)行查詢 (基于SqlDataReader的操作方式) 讀取方法: A.讀取幾列值 B.讀取單一值 以上語句可以用一句語句代替: decimal decOrderTotal=(decimal)cmd.ExecuteScalar(); 2.執(zhí)行不返回結(jié)果集的查詢 cmd.ExecuteNonQuery() 可根據(jù)ExecuteNonQuery()方法的返回值來判斷執(zhí)行的結(jié)果。 3.其它 使用Using塊 using (SqlCommand cmd=new SqlCommand(strSQL,cn)) { try{ using (SqlDatareader rdr=cmd.ExecuteReader())
} } 基于序號(hào) int intcustomerIDOrdinal=rdr.GetOrdinal(“CustomerID”); rdr[intcustomerIDOrdinal]; 強(qiáng)類型getter int intcustomerIDOrdinal=rdr.GetOrdinal(“CustomerID”); rdr.GetString(intcustomerIDOrdinal) 應(yīng)當(dāng)總是使用適當(dāng)?shù)膹?qiáng)類型getter,它們與結(jié)果集中列所返回的數(shù)據(jù)相對(duì)應(yīng),如果不能確定調(diào)用哪種類型getter,可以調(diào)用GetFieldType方法,傳遞需要的列的序號(hào)為參數(shù)。 處理Null值 在處理字符串內(nèi)容之前,需確定該字符串已被初始化。 如果正在從一個(gè)可能包含Null值的列中獲取數(shù)據(jù),請(qǐng)?jiān)趪L試訪問前檢查其值。 使用isDBNull方法(只接受一個(gè)表示列序號(hào)的整數(shù)) while (rdr.Read()) { order=new Order() order.OrderID=rdr.GetInt32(0); … if(rdr.IsDBNull(3)) order.ShippedDate=null; else order.ShippedDate=rdr.GetDateTime(3); } |
|
|