private string GenerateInsertQuery() { string str = string.Format("INSERT INTO [dbo].[{0}] ", (object)this.TableName); DataSet allTableColumns = SqlDatabaseHelper.GetAllTableColumns(this.TableName); if (allTableColumns.Tables.Count > 0) { str = str + this.GenerateInsertColumns(allTableColumns) + " VALUES " + this.GenerateInsertColumnParameters(allTableColumns); } return(str); }
private string GenerateUpdateQuery() { string str = string.Format("UPDATE [dbo].[{0}] SET ", (object)this.TableName); DataSet allTableColumns = SqlDatabaseHelper.GetAllTableColumns(this.TableName); if (allTableColumns.Tables.Count > 0) { str = str + this.GenerateUpdateSetStatement(allTableColumns) + " WHERE " + this.GenerateUpdateQueryWhereClause(allTableColumns); } return(str); }
public static void AddParameterForObject(object obj, DALBaseProvider provider, DbCommand cmd) { try { SqlDatabaseHelper.lstTableColumnNames.Clear(); DataSet allTableColumns = SqlDatabaseHelper.GetAllTableColumns(provider.TableName); if (allTableColumns.Tables.Count > 0) { foreach (DataRow row in (InternalDataCollectionBase)allTableColumns.Tables[0].Rows) { SqlDatabaseHelper.lstTableColumnNames.Add(row["COLUMN_NAME"].ToString()); } } PropertyInfo[] properties = provider.ObjectType.GetProperties(); for (int index = 0; index < properties.Length; ++index) { if (SqlDatabaseHelper.lstTableColumnNames.IndexOf(properties[index].Name) >= 0) { object obj1 = properties[index].GetValue(obj, (object[])null); if (properties[index].PropertyType.Equals(typeof(int))) { if ((properties[index].Name == provider.TableName.Substring(0, provider.TableName.Length - 1) + "ID" || properties[index].Name == provider.TableName + "ID") && cmd.CommandText.Contains("_Insert")) { SqlDatabaseHelper.database.AddOutParameter(cmd, properties[index].Name, SqlDbType.Int, 4); } else { SqlDatabaseHelper.database.AddInParameter(cmd, properties[index].Name, SqlDbType.Int, obj1); } } else if (properties[index].PropertyType.Equals(typeof(bool))) { SqlDatabaseHelper.database.AddInParameter(cmd, properties[index].Name, SqlDbType.Bit, obj1); } else if (properties[index].PropertyType.Equals(typeof(short))) { SqlDatabaseHelper.database.AddInParameter(cmd, properties[index].Name, SqlDbType.SmallInt, obj1); } else if (properties[index].PropertyType.Equals(typeof(byte))) { SqlDatabaseHelper.database.AddInParameter(cmd, properties[index].Name, SqlDbType.TinyInt, obj1); } else if (properties[index].PropertyType.Equals(typeof(double))) { if (double.IsInfinity((double)obj1)) { obj1 = (object)0.0; } SqlDatabaseHelper.database.AddInParameter(cmd, properties[index].Name, SqlDbType.Float, obj1); } else if (properties[index].PropertyType.Equals(typeof(Decimal))) { ((Database)SqlDatabaseHelper.database).AddParameter(cmd, properties[index].Name, DbType.Decimal, 24, ParameterDirection.Input, true, (byte)18, (byte)5, properties[index].Name, DataRowVersion.Default, obj1); } else if (properties[index].PropertyType.Equals(typeof(string)) || properties[index].PropertyType.Equals(typeof(string))) { SqlDatabaseHelper.database.AddInParameter(cmd, properties[index].Name, SqlDbType.NVarChar, obj1); } else if (properties[index].PropertyType.Equals(typeof(DateTime))) { if ((DateTime)obj1 == DateTime.MinValue) { obj1 = (object)DateTime.MaxValue; } SqlDatabaseHelper.database.AddInParameter(cmd, properties[index].Name, SqlDbType.DateTime, obj1); } else if (properties[index].PropertyType.Equals(typeof(byte[]))) { SqlDatabaseHelper.database.AddInParameter(cmd, properties[index].Name, SqlDbType.VarBinary, obj1); } } } } catch (Exception ex) { throw ex; } }