public static DbCommand CreateCommand(DbConnection conn, string commandText, ComplexParams cmdParams) { if (conn.State == ConnectionState.Closed) { conn.Open(); } DbCommand result = conn.CreateCommand(); result.CommandText = commandText; result.CommandType = CommandType.Text; if (cmdParams != null) { foreach (ComplexParameter param in cmdParams) { object value; if (param.Value is Guid) { value = ((Guid)param.Value).ToGuidStr(); } else if (param.Value is bool) { value = ((bool)param.Value).ToShort(); } else { value = param.Value; } result.AddParam(param.Key, value, param.DbType); } } return(result); }
public static int ExecuteNonQuery(DbConnection conn, string commandText, ComplexParams cmdParams = null) { using (DbCommand cmd = CreateCommand(conn, commandText, cmdParams)) { return(cmd.ExecuteNonQuery()); } }
public static T ExecuteReader <T>(DbConnection conn, string commandText, ComplexParams cmdParams = null, Func <DbDataReader, T> func = null) where T : class { if (func == null) { func = (r => r.ToObject <T>()); } using (DbCommand cmd = CreateCommand(conn, commandText, cmdParams)) using (DbDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { return(func(reader)); } return(null); } }
public static DbDataReader ExecuteReader(DbConnection conn, string commandText, ComplexParams cmdParams) { using (DbCommand cmd = CreateCommand(conn, commandText, cmdParams)) { return(cmd.ExecuteReader()); } }