System.Data.Common.DbCommand.AddParam(object)

Here are the examples of the csharp api class System.Data.Common.DbCommand.AddParam(object) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

9 Examples 7

1. Example

Project: ReliableDbProvider
Source File: Massive.cs
public virtual DbCommand CreateInsertCommand(dynamic expando)
        {
            DbCommand result = null;
            var settings = (IDictionary<string, object>)expando;
            var sbKeys = new StringBuilder();
            var sbVals = new StringBuilder();
            var stub = "INSERT INTO {0} ({1}) \r\n VALUES ({2})";
            result = CreateCommand(stub, null);
            int counter = 0;
            foreach (var item in settings)
            {
                sbKeys.AppendFormat("{0},", item.Key);
                sbVals.AppendFormat("@{0},", counter.ToString());
                result.AddParam(item.Value);
                counter++;
            }
            if (counter > 0)
            {
                var keys = sbKeys.ToString().Substring(0, sbKeys.Length - 1);
                var vals = sbVals.ToString().Substring(0, sbVals.Length - 1);
                var sql = string.Format(stub, TableName, keys, vals);
                result.CommandText = sql;
            }
            else throw new InvalidOperationException("Can't parse this object to the database - there are no properties set");
            return result;
        }

2. Example

Project: ReliableDbProvider
Source File: Massive.cs
public virtual DbCommand CreateUpdateCommand(dynamic expando, object key)
        {
            var settings = (IDictionary<string, object>)expando;
            var sbKeys = new StringBuilder();
            var stub = "UPDATE {0} SET {1} WHERE {2} = @{3}";
            var args = new List<object>();
            var result = CreateCommand(stub, null);
            int counter = 0;
            foreach (var item in settings)
            {
                var val = item.Value;
                if (!item.Key.Equals(PrimaryKeyField, StringComparison.OrdinalIgnoreCase) && item.Value != null)
                {
                    result.AddParam(val);
                    sbKeys.AppendFormat("{0} = @{1}, \r\n", item.Key, counter.ToString());
                    counter++;
                }
            }
            if (counter > 0)
            {
                //add the key
                result.AddParam(key);
                //strip the last commas
                var keys = sbKeys.ToString().Substring(0, sbKeys.Length - 4);
                result.CommandText = string.Format(stub, TableName, keys, PrimaryKeyField, counter);
            }
            else throw new InvalidOperationException("No parsable object was sent in - could not divine any name/value pairs");
            return result;
        }

3. Example

Project: RawDataAccessBencher
Source File: Massive.cs
public virtual DbCommand CreateInsertCommand(dynamic expando)
		{
			DbCommand result = null;
			var settings = (IDictionary<string, object>)expando;
			var sbKeys = new StringBuilder();
			var sbVals = new StringBuilder();
			var stub = "INSERT INTO {0} ({1}) \r\n VALUES ({2})";
			result = CreateCommand(stub, null);
			int counter = 0;
			foreach(var item in settings)
			{
				sbKeys.AppendFormat("{0},", item.Key);
				sbVals.AppendFormat("@{0},", counter.ToString());
				result.AddParam(item.Value);
				counter++;
			}
			if(counter > 0)
			{
				var keys = sbKeys.ToString().Substring(0, sbKeys.Length - 1);
				var vals = sbVals.ToString().Substring(0, sbVals.Length - 1);
				var sql = string.Format(stub, TableName, keys, vals);
				result.CommandText = sql;
			}
			else throw new InvalidOperationException("Can't parse this object to the database - there are no properties set");
			return result;
		}

4. Example

Project: RawDataAccessBencher
Source File: Massive.cs
public virtual DbCommand CreateUpdateCommand(dynamic expando, object key)
		{
			var settings = (IDictionary<string, object>)expando;
			var sbKeys = new StringBuilder();
			var stub = "UPDATE {0} SET {1} WHERE {2} = @{3}";
			var args = new List<object>();
			var result = CreateCommand(stub, null);
			int counter = 0;
			foreach(var item in settings)
			{
				var val = item.Value;
				if(!item.Key.Equals(PrimaryKeyField, StringComparison.OrdinalIgnoreCase) && item.Value != null)
				{
					result.AddParam(val);
					sbKeys.AppendFormat("{0} = @{1}, \r\n", item.Key, counter.ToString());
					counter++;
				}
			}
			if(counter > 0)
			{
				//add the key
				result.AddParam(key);
				//strip the last commas
				var keys = sbKeys.ToString().Substring(0, sbKeys.Length - 4);
				result.CommandText = string.Format(stub, TableName, keys, PrimaryKeyField, counter);
			}
			else throw new InvalidOperationException("No parsable object was sent in - could not divine any name/value pairs");
			return result;
		}

5. Example

Project: NServiceKit.OrmLite
Source File: Massive.cs
public virtual DbCommand CreateInsertCommand(object o)
        {
            DbCommand result = null;
            var expando = o.ToExpando();
            var settings = (IDictionary<string, object>)expando;
            var sbKeys = new StringBuilder();
            var sbVals = new StringBuilder();
            var stub = "INSERT INTO {0} ({1}) \r\n VALUES ({2})";
            result = CreateCommand(stub, null);
            int counter = 0;
            foreach (var item in settings)
            {
                sbKeys.AppendFormat("{0},", item.Key);
                sbVals.AppendFormat("@{0},", counter.ToString());
                result.AddParam(item.Value);
                counter++;
            }
            if (counter > 0)
            {
                var keys = sbKeys.ToString().Substring(0, sbKeys.Length - 1);
                var vals = sbVals.ToString().Substring(0, sbVals.Length - 1);
                var sql = string.Format(stub, TableName, keys, vals);
                result.CommandText = sql;
            }
            else throw new InvalidOperationException("Can't parse this object to the database - there are no properties set");
            return result;
        }

6. Example

Project: RawDataAccessBencher
Source File: Massive.cs
public virtual DbCommand CreateInsertCommand(object o)
        {
            DbCommand result = null;
            var attributes = GetAttributesToSave(o);
            var settings = (IDictionary<string, object>)attributes;
            var sbKeys = new StringBuilder();
            var sbVals = new StringBuilder();
            var stub = "INSERT INTO {0} ({1}) \r\n VALUES ({2})";
            result = CreateCommand(stub, null);
            int counter = 0;
            foreach (var item in settings)
            {
                sbKeys.AppendFormat("{0},", "[" + item.Key + "]");
                sbVals.AppendFormat("@{0},", counter.ToString());
                result.AddParam(item.Value);
                counter++;
            }
            if (counter > 0)
            {
                var keys = sbKeys.ToString().Substring(0, sbKeys.Length - 1);
                var vals = sbVals.ToString().Substring(0, sbVals.Length - 1);
                var sql = string.Format(stub, TableName, keys, vals);
                result.CommandText = sql;
            }
            else throw new InvalidOperationException("Can't parse this object to the database - there are no properties set");

            if (WriteDevLog) LogSqlCommand(result);

            return result;
        }

7. Example

Project: NServiceKit.OrmLite
Source File: Massive.cs
public virtual DbCommand CreateUpdateCommand(object o, object key)
        {
            var expando = o.ToExpando();
            var settings = (IDictionary<string, object>)expando;
            var sbKeys = new StringBuilder();
            var stub = "UPDATE {0} SET {1} WHERE {2} = @{3}";
            var args = new List<object>();
            var result = CreateCommand(stub, null);
            int counter = 0;
            foreach (var item in settings)
            {
                var val = item.Value;
                if (!item.Key.Equals(PrimaryKeyField, StringComparison.CurrentCultureIgnoreCase) && item.Value != null)
                {
                    result.AddParam(val);
                    sbKeys.AppendFormat("{0} = @{1}, \r\n", item.Key, counter.ToString());
                    counter++;
                }
            }
            if (counter > 0)
            {
                //add the key
                result.AddParam(key);
                //strip the last commas
                var keys = sbKeys.ToString().Substring(0, sbKeys.Length - 4);
                result.CommandText = string.Format(stub, TableName, keys, PrimaryKeyField, counter);
            }
            else throw new InvalidOperationException("No parsable object was sent in - could not divine any name/value pairs");
            return result;
        }

8. Example

Project: RawDataAccessBencher
Source File: Massive.cs
public virtual DbCommand CreateUpdateCommand(object o, object key)
        {
            var attributes = GetAttributesToSave(o);
            var settings = (IDictionary<string, object>)attributes;
            var sbKeys = new StringBuilder();
            var stub = "UPDATE {0} SET {1} WHERE [{2}] = @{3}";
            var args = new List<object>();
            var result = CreateCommand(stub, null);
            int counter = 0;
            foreach (var item in settings)
            {
                var val = item.Value ?? DBNull.Value;
                if (!item.Key.Equals(PrimaryKeyField, StringComparison.CurrentCultureIgnoreCase) && val != null)
                {
                    result.AddParam(val);
                    sbKeys.AppendFormat("[{0}] = @{1}, \r\n", item.Key, counter.ToString());
                    counter++;
                }
            }
            if (counter > 0)
            {
                //add the key
                result.AddParam(key);
                //strip the last commas
                var keys = sbKeys.ToString().Substring(0, sbKeys.Length - 4);
                result.CommandText = string.Format(stub, TableName, keys, PrimaryKeyField, counter);
            }
            else throw new InvalidOperationException("No parsable object was sent in - could not divine any name/value pairs");

            if (WriteDevLog) LogSqlCommand(result);

            return result;
        }

9. Example

Project: RawDataAccessBencher
Source File: Massive.cs
public virtual DbCommand CreateUpdateWhereCommand(dynamic expando, string where = "", params object[] args)
		{
			var settings = (IDictionary<string, object>)expando;
			var sbKeys = new StringBuilder();
			string stub;

			if(!string.IsNullOrEmpty(where))
			{
				stub = where.Trim().StartsWith("where", StringComparison.OrdinalIgnoreCase) ? "UPDATE {0} SET {1} " : "UPDATE {0} SET {1} WHERE ";
				stub += where;
			}
			else
			{
				stub = "UPDATE {0} SET {1}";
			}


			var result = CreateCommand(stub, null, args);
			// not sure if we should do regex over where to count params... @ followed by number
			int counter = args.Length > 0 ? args.Length : 0;

			foreach(var item in settings)
			{
				var val = item.Value;
				if(!item.Key.Equals(PrimaryKeyField, StringComparison.OrdinalIgnoreCase) && item.Value != null)
				{
					result.AddParam(val);
					sbKeys.AppendFormat("{0} = @{1}, \r\n", item.Key, counter.ToString());
					counter++;
				}
			}

			if(counter > 0)
			{
				//strip the last commas
				var keys = sbKeys.ToString().Substring(0, sbKeys.Length - 4);
				result.CommandText = string.Format(stub, TableName, keys);
			}
			else throw new InvalidOperationException("No parsable object was sent in - could not divine any name/value pairs");
			return result;
		}