示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
 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;
     }
 }