public static class SqliteHelper { private static string connStr = ConfigurationManager.ConnectionStrings["sql"].ConnectionString; public static int ExecuteNonQuery(string sql, params SqlParameter[] ps) { using (SqlConnection conn = new SqlConnection(connStr)) { #region SqlConnection和SqlCommond连接 SqlCommand cmd = new SqlCommand(sql, conn); //SqlCommand cmd = conn.CreateCommand(); //cmd.CommandText = sql; #endregion cmd.Parameters.AddRange(ps); conn.Open(); return cmd.ExecuteNonQuery(); } } public static object ExecuteScalar(string sql, params SqlParameter[] ps) { using (SqlConnection conn = new SqlConnection(connStr)) { SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddRange(ps); conn.Open(); return cmd.ExecuteScalar(); } } public static DataTable GetDateTable(string sql, params SqlParameter[] ps) { using (SqlConnection conn = new SqlConnection(connStr)) { SqlDataAdapter adapter = new SqlDataAdapter(sql, conn); DataTable dt = new DataTable(); adapter.SelectCommand.Parameters.AddRange(ps); adapter.Fill(dt); return dt; } } #region 执行sql脚本,返回一个SqlDataReader public static SqlDataReader ExecuterReader(string sql, params SqlParameter[] ps) { //sqldataReader在读取数据的时候,独占sqlconnection对象,因此必须是开的状态 SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.AddRange(ps); conn.Open(); //CommandBehavior.CloseConnection代表,当sqldatareader释放的时候,顺道把sqlconnection一同释放了 return cmd.ExecuteReader(CommandBehavior.CloseConnection); } #endregion }
结语:
cmd.ExecuteNonQuery | 返回受影响的行数 |
---|---|
cmd.ExecuteScalar() | 返回结果集中的第一行和第一列 |
cmd.ExecuteReader() | 读取结果集中的数据 |
adapter.Fill(DataTable) | 填充查询数据到DataTable表中 |
文章来源: SqliteHelper封装