请引用
using System.Data;
using System.Data.SqlClient;
两个命名空间。
可以满足常用的数据集,读取多条数据,以及增删改操作
代码:
1 /// <summary> 2 /// DBHelper 的摘要说明 3 /// </summary> 4 public class SqlDbHelper 5 { 6 /// <summary> 7 /// Contacts数据库的连接字符串 8 /// </summary> 9 public static readonly string connString = ConfigurationManager.ConnectionStrings["ContactsConnStr"].ConnectionString; 10 /// <summary> 11 /// 返回数据集以及他们的重载 12 /// </summary> 13 /// <param name="commandText"></param> 14 /// <param name="commandType"></param> 15 /// <param name="parameters"></param> 16 /// <returns></returns> 17 public static DataTable ExecuteDataTable(string commandText, CommandType commandType, SqlParameter[] parameters) 18 { 19 DataTable data = new DataTable();//实例化 DataTable,用于装载查询结果集 20 using (SqlConnection connection = new SqlConnection(connString)) 21 { 22 using (SqlCommand command = new SqlCommand(commandText, connection)) 23 { 24 //设置 command 的 CommandType 为指定的 CommandType 25 command.CommandType = commandType; 26 //如果同时传入了参数,则添加这些参数 27 if (parameters != null) 28 { 29 foreach (SqlParameter parameter in parameters) 30 { 31 command.Parameters.Add(parameter); 32 } 33 } 34 //通过包含查询 SQL 的 SqlCommand 实例来实例化 SqlDataAdapter 35 SqlDataAdapter adapter = new SqlDataAdapter(command); 36 adapter.Fill(data);//填充 DataTable 37 } 38 } 39 return data; 40 } 41 public static DataTable ExecuteDataTable(string commandText) 42 { 43 return ExecuteDataTable(commandText, CommandType.Text, null); 44 } 45 public static DataTable ExecuteDataTable(string commandText, CommandType commandType) 46 { 47 return ExecuteDataTable(commandText, commandType, null); 48 } 49 /// <summary> 50 /// SqlDataReader 获取多条语句以及重载 51 /// </summary> 52 /// <param name="commandText"></param> 53 /// <param name="commandType"></param> 54 /// <param name="parameters"></param> 55 /// <returns></returns> 56 public static SqlDataReader ExecuteReader(string commandText, CommandType commandType, SqlParameter[] parameters) 57 { 58 SqlConnection connection = new SqlConnection(connString); 59 SqlCommand command = new SqlCommand(commandText, connection); 60 //设置 command 的 CommandType 为指定的 CommandType 61 command.CommandType = commandType; 62 //如果同时传入了参数,则添加这些参数 63 if (parameters != null) 64 { 65 foreach (SqlParameter parameter in parameters) 66 { 67 command.Parameters.Add(parameter); 68 } 69 } 70 connection.Open(); 71 //CommandBehavior.CloseConnection 参数指示关闭 Reader 对象时 72 //关闭与其关联的 Connection 对象 73 return command.ExecuteReader(CommandBehavior.CloseConnection); 74 } 75 public static SqlDataReader ExecuteReader(string commandText) 76 { 77 return ExecuteReader(commandText, CommandType.Text, null); 78 } 79 public static SqlDataReader ExecuteReader(string commandText, CommandType 80 commandType) 81 { 82 return ExecuteReader(commandText, commandType, null); 83 } 84 /// <summary> 85 /// 检索单个值的 ExecuteScalar 方法以及重载 86 /// </summary> 87 /// <param name="commandText"></param> 88 /// <param name="commandType"></param> 89 /// <param name="parameters"></param> 90 /// <returns></returns> 91 public static Object ExecuteScalar(string commandText, CommandType commandType, SqlParameter[] parameters) 92 { 93 object result = null; 94 using (SqlConnection connection = new SqlConnection(connString)) 95 { 96 using (SqlCommand command = new SqlCommand(commandText, connection)) 97 { 98 //设置 command 的 CommandType 为指定的 CommandType 99 command.CommandType = commandType; 100 //如果同时传入了参数,则添加这些参数 101 if (parameters != null) 102 { 103 foreach (SqlParameter parameter in parameters) 104 { 105 command.Parameters.Add(parameter); 106 } 107 } 108 connection.Open();//打开数据库连接 109 result = command.ExecuteScalar(); 110 } 111 } 112 return result;//返回查询结果的第一行第一列,忽略其它行和列 113 } 114 public static Object ExecuteScalar(string commandText) 115 { 116 return ExecuteScalar(commandText, CommandType.Text, null); 117 } 118 public static Object ExecuteScalar(string commandText, CommandType commandType) 119 { 120 return ExecuteScalar(commandText, commandType, null); 121 } 122 /// <summary> 123 /// 增删改操作的 ExecuteNonQuery 方法 124 /// </summary> 125 /// <param name="commandText"></param> 126 /// <param name="commandType"></param> 127 /// <param name="parameters"></param> 128 /// <returns></returns> 129 public static int ExecuteNonQuery(string commandText, CommandType commandType,SqlParameter[] parameters) 130 { 131 int count = 0; 132 using (SqlConnection connection = new SqlConnection(connString)) 133 { 134 using (SqlCommand command = new SqlCommand(commandText, connection)) 135 { 136 //设置 command 的 CommandType 为指定的 CommandType 137 command.CommandType = commandType; 138 //如果同时传入了参数,则添加这些参数 139 if (parameters != null) 140 { 141 foreach (SqlParameter parameter in parameters) 142 { 143 command.Parameters.Add(parameter); 144 } 145 } 146 connection.Open();//打开数据库连接 147 count = command.ExecuteNonQuery(); 148 } 149 } 150 return count;//返回执行增删改操作之后,数据库中受影响的行数 151 } 152 public static int ExecuteNonQuery(string commandText) 153 { 154 return ExecuteNonQuery(commandText, CommandType.Text, null); 155 } 156 public static int ExecuteNonQuery(string commandText, CommandType commandType) 157 { 158 return ExecuteNonQuery(commandText, commandType, null); 159 } 160 }
后期再补充。。