当前位置: 首页>>代码示例>>C#>>正文


C# IDbCommand.AddParameter方法代码示例

本文整理汇总了C#中IDbCommand.AddParameter方法的典型用法代码示例。如果您正苦于以下问题:C# IDbCommand.AddParameter方法的具体用法?C# IDbCommand.AddParameter怎么用?C# IDbCommand.AddParameter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IDbCommand的用法示例。


在下文中一共展示了IDbCommand.AddParameter方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: InsertCommand

        public virtual void InsertCommand(IDbCommand command, object entity)
        {
            if (command == null) throw new ArgumentNullException("command");
            if (entity == null) throw new ArgumentNullException("entity");

            var columns = "";
            var values = "";
            foreach (var key in _keys)
            {
                var value = key.GetValue(entity);
                if (value == null)
                    continue;
                columns += string.Format("{0}, ", key.ColumnName);
                values += string.Format("@{0}, ", key.PropertyName);
                command.AddParameter(key.PropertyName, value);
            }
            foreach (var prop in _values)
            {
                var value = prop.GetValue(entity);
                columns += string.Format("{0}, ", prop.ColumnName);
                values += string.Format("@{0}, ", prop.PropertyName);
                command.AddParameter(prop.PropertyName, value ?? DBNull.Value);
            }
            if (command.Parameters.Count == 0)
                throw new DataException("No values were added to the query for " + entity);

            command.CommandText = string.Format("INSERT INTO {0} ({1}) VALUES({2})",
                TableName,
                columns.Remove(columns.Length - 2, 2),
                values.Remove(values.Length - 2, 2));
        }
开发者ID:jorgenlidholm,项目名称:Griffin.Framework,代码行数:31,代码来源:CommandBuilder.cs

示例2: WritePeople

 public static void WritePeople(IDbCommand cmd, Row row)
 {
     cmd.CommandText =
         @"INSERT INTO People (UserId, FirstName, LastName, Email) VALUES (@UserId, @FirstName, @LastName, @Email)";
     cmd.AddParameter("UserId", row["Id"]);
     cmd.AddParameter("FirstName", row["FirstName"]);
     cmd.AddParameter("LastName", row["LastName"]);
     cmd.AddParameter("Email", row["Email"]);
 }
开发者ID:gleborgne,项目名称:rhino-etl,代码行数:9,代码来源:UsersToPeopleActions.cs

示例3: UpdateCommand

        public void UpdateCommand(IDbCommand command, object entity)
        {
            if (command == null) throw new ArgumentNullException("command");
            if (entity == null) throw new ArgumentNullException("entity");

            var updates = "";
            var where = "";
            foreach (var property in _values)
            {
                var value = property.GetValue(entity);
                updates += string.Format("{0}[email protected]{1}, ", property.ColumnName, property.PropertyName);
                command.AddParameter(property.PropertyName, value);
            }
            if (command.Parameters.Count == 0)
                throw new DataException("At least one property (other than primary keys) must be specified.");

            foreach (var property in _keys)
            {
                var value = property.GetValue(entity);
                if (value == null || value == DBNull.Value)
                    throw new DataException(
                        string.Format("Entity {0}' do not contain a value for the key property '{1}'", entity,
                            property.PropertyName));
                where += property.ColumnName + "=" + "@" + property.PropertyName + " AND ";
                command.AddParameter(property.PropertyName, value);
            }

            command.CommandText = string.Format("UPDATE {0} SET {1} WHERE {2}",
                TableName,
                updates.Remove(updates.Length - 2, 2),
                @where.Remove(@where.Length - 5, 5));
        }
开发者ID:jorgenlidholm,项目名称:Griffin.Framework,代码行数:32,代码来源:CommandBuilder.cs

示例4: DeleteCommand

        /// <summary>
        ///     Modifies the command to execute a DELETE statement
        /// </summary>
        /// <param name="command">Command that will be executed after this method call</param>
        /// <param name="entity">Only primary key properties are used in the WHERE clause</param>
        /// <exception cref="System.ArgumentNullException">
        ///     command
        ///     or
        ///     entity
        /// </exception>
        /// <exception cref="System.Data.DataException"></exception>
        public void DeleteCommand(IDbCommand command, object entity)
        {
            if (command == null) throw new ArgumentNullException("command");
            if (entity == null) throw new ArgumentNullException("entity");

            var where = "";
            foreach (var property in _keys)
            {
                var value = property.GetValue(entity);
                if (value == null || value == DBNull.Value)
                    throw new DataException(
                        string.Format("Entity {0}' do not contain a value for the key property '{1}'", entity,
                            property.PropertyName));

                where += string.Format("{0}=" + "@{1} AND ", property.ColumnName, property.PropertyName);
                command.AddParameter(property.PropertyName, value);
            }

            command.CommandText = string.Format("DELETE FROM {0} WHERE {1}",
                TableName,
                @where.Remove(@where.Length - 5, 5));
        }
开发者ID:ricklxm,项目名称:Griffin.Framework,代码行数:33,代码来源:CommandBuilder.cs

示例5: SetParameters

        private static void SetParameters(Procedure procedure, IDbCommand cmd, IDictionary<string, object> suppliedParameters)
        {
            if (procedure.Parameters.Any(p=>p.Direction == ParameterDirection.ReturnValue))
              AddReturnParameter(cmd);

            int i = 0;
            foreach (var parameter in procedure.Parameters.Where(p=>p.Direction != ParameterDirection.ReturnValue))
            {
                object value;
                if (!suppliedParameters.TryGetValue(parameter.Name.Replace("@", ""), out value))
                {
                    suppliedParameters.TryGetValue("_" + i, out value);
                }
                var cmdParameter = cmd.AddParameter(parameter.Name, value);
                cmdParameter.Direction = parameter.Direction;
                i++;
            }
        }
开发者ID:AndyCross,项目名称:Simple.Data,代码行数:18,代码来源:ProcedureExecutor.cs

示例6: PopulateCommand

        private static string PopulateCommand(IDbCommand command, IEnumerable<string> messageTypes)
        {
            var builder = new StringBuilder();
            var types = messageTypes.ToArray();

            for (var i = 0; i < types.Length; i++)
            {
                command.AddParameter(SqlStatements.MessageTypeParameter + i, types[i]);
                builder.AppendFormat(command.CommandText, i);
            }

            return builder.ToString();
        }
开发者ID:etishor,项目名称:NanoMessageBus,代码行数:13,代码来源:SqlSubscriptionStorage.cs

示例7: SetParameters

        private static void SetParameters(Procedure procedure, IDbCommand cmd, IDictionary<string, object> suppliedParameters)
        {
            AddReturnParameter(cmd);

            int i = 0;
            foreach (var parameter in procedure.Parameters)
            {
                object value;
                if (!suppliedParameters.TryGetValue(parameter.Name.Replace("@", ""), out value))
                {
                    suppliedParameters.TryGetValue("_" + i, out value);
                }
                cmd.AddParameter(parameter.Name, value);
                i++;
            }
        }
开发者ID:ToJans,项目名称:Simple.Data,代码行数:16,代码来源:ProcedureExecutor.cs

示例8: WriteRow

 private void WriteRow(IDbCommand cmd, Row row)
 {
     cmd.CommandText = GetCachedQueryOdbc(row);
     foreach (string key in row.Keys)
     {
         cmd.AddParameter(key, row[key]);
     }
 }
开发者ID:Zawulon,项目名称:ETL,代码行数:8,代码来源:Odbc_2_Odbc.cs


注:本文中的IDbCommand.AddParameter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。