コード例 #1
0
ファイル: DBTools.cs プロジェクト: jamesyu89/InsMediaReptile
        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);
        }
コード例 #2
0
ファイル: DBTools.cs プロジェクト: jamesyu89/InsMediaReptile
 public static int ExecuteNonQuery(DbConnection conn, string commandText, ComplexParams cmdParams = null)
 {
     using (DbCommand cmd = CreateCommand(conn, commandText, cmdParams))
     {
         return(cmd.ExecuteNonQuery());
     }
 }
コード例 #3
0
ファイル: DBTools.cs プロジェクト: jamesyu89/InsMediaReptile
        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);
                }
        }
コード例 #4
0
ファイル: DBTools.cs プロジェクト: jamesyu89/InsMediaReptile
 public static DbDataReader ExecuteReader(DbConnection conn, string commandText, ComplexParams cmdParams)
 {
     using (DbCommand cmd = CreateCommand(conn, commandText, cmdParams))
     {
         return(cmd.ExecuteReader());
     }
 }