封装一个受影响的行
1 public static int ExcuteNonQuery(string sqlText,params SqlParameter[] parameters) 2 { 3 using (SqlConnection conn = new SqlConnection(GetSqlConnectionString())) 4 { 5 using (SqlCommand cmd = conn.CreateCommand()) 6 { 7 conn.Open(); 8 cmd.CommandText = sqlText; 9 cmd.Parameters.AddRange(parameters);//把参数添加到cmd命令中。 10 return cmd.ExecuteNonQuery(); 11 } 12 } 13 }
执行sql。返回 查询结果中的 第一行第一列的值
1 #region 执行sql。返回 查询结果中的 第一行第一列的值 2 3 public static object ExcuteScalar(string sqlText, params SqlParameter[] parameters) 4 { 5 using (SqlConnection conn = new SqlConnection(GetSqlConnectionString())) 6 { 7 using (SqlCommand cmd = conn.CreateCommand()) 8 { 9 conn.Open(); 10 cmd.CommandText = sqlText; 11 cmd.Parameters.AddRange(parameters); 12 return cmd.ExecuteScalar(); 13 } 14 } 15 } 16 17 public static T ExcuteScalar<T>(string sqlText, params SqlParameter[] parameters) 18 //where T:UserInfo要求必须继承某个类型 19 //where T:class //必须是类 20 //where T:new () //要求T必须有默认构造函数 21 22 //where 可以现在T类型,必须是class,必须有构造函数,必须继承或者实现某个类或者接口。 23 { 24 using (SqlConnection conn = new SqlConnection(GetSqlConnectionString())) 25 { 26 using (SqlCommand cmd = conn.CreateCommand()) 27 { 28 conn.Open(); 29 cmd.CommandText = sqlText; 30 cmd.Parameters.AddRange(parameters); 31 return (T)cmd.ExecuteScalar(); 32 //int? i = 0; 33 //object num = i; 34 //i = num as int?; 35 } 36 } 37 } 38 #endregion
执行sql 返回一个DataTable
1 public static DataTable ExcuteDataTable(string sqlText, params SqlParameter[] parameters) 2 { 3 using (SqlDataAdapter adapter = new SqlDataAdapter(sqlText, GetSqlConnectionString())) 4 { 5 DataTable dt =new DataTable(); 6 adapter.SelectCommand.Parameters.AddRange(parameters); 7 adapter.Fill(dt); 8 return dt; 9 } 10 }
执行sql 脚本,返回一个SqlDataReader
1 public static SqlDataReader ExucteReader(string sqlText, params SqlParameter[] parameters) 2 { 3 //SqlDataReader要求,它读取数据的时候,它哟啊独占 它的SqlConnection对象,而且SqlConnection必须是Open状态。 4 SqlConnection conn =new SqlConnection(GetSqlConnectionString());//不要释放连接,因为后面还要需要连接打开状态。 5 SqlCommand cmd = conn.CreateCommand(); 6 conn.Open(); 7 cmd.CommandText = sqlText; 8 cmd.Parameters.AddRange(parameters); 9 //CommandBehavior.CloseConnection:代表,当SqlDataReader释放的时候,顺便把SqlConnection对象也释放掉。 10 return cmd.ExecuteReader(CommandBehavior.CloseConnection);
另外还赋这片也是可以参考,上文是根据EF来判断的 http://www.cnblogs.com/lishuangzhe/archive/2013/08/26/SqlHelper.html