protected InsertSections GetTableInsert(TableKey table) { InsertSections result = null; if (_tableToInsertStatments.TryGetValue(table, out result)) { return(result); } result = new InsertSections( ); result.InsertTemplate = SqlInsertStatments.GetInsertIntoTable(table); result.TableName = table.Name; _tableToInsertStatments.Add(table, result); return(result); }
public virtual void ProcessColumn ( ColumnInfo column, IDbCommand insertCommand, DataParamFactory parameterFactory ) { InsertSections insert = GetTableInsert(column.Table); insert.ColumnNames.Add(column.Name); insert.ParametersValueNames.Add("@" + column.Name); //TODO: add a parameter name to the column class //insert.ParametersValueNames.Add ( column.Values[0] ) ; System.Data.IDbDataParameter param; object value = DBNull.Value; if (null != column.Values && column.Values.Count != 0) { //TODO: multivalue must be stored in their own table where each value is a row //in order to support proper query value = column.Values[0]; if (null == value) { value = DBNull.Value; } } param = parameterFactory("@" + column.Name, value); Parameters.Add(param); if (null != insertCommand) { insertCommand.Parameters.Add(param); } }