Example #1
0
        /// <summary>
        /// 摘要:删除记录
        /// </summary>
        /// <param name="value">要删除的主键值数组</param>
        public ReturnMessage Delete(List <string> value)
        {
            ReturnMessage rm          = new ReturnMessage(true);
            string        stTableName = string.Empty;

            try
            {
                T obj = (T)this.MemberwiseClone();
                stTableName = ((TableAttribute)obj.GetType().GetCustomAttributes(true)[0]).TableName;
                string         stPK          = string.Empty;
                PropertyInfo[] propertyInfos = obj.GetType().GetProperties();
                for (int i = 0; i < propertyInfos.Length; i++)
                {
                    if (propertyInfos[i].GetCustomAttributes(true).Length != 0)
                    {
                        if (propertyInfos[i].GetCustomAttributes(true)[0].GetType().Name == "PrimaryKeyAttribute")
                        {
                            stPK = propertyInfos[i].Name;
                        }
                    }
                }
                IDBCore iDB = DBFactory.CreateDB();

                /*if (DATABASE_TYPE == "XML")
                 * {
                 *  iDB = new XMLCore(_TagData);
                 * }
                 * else
                 * {
                 *  iDB = DBFactory.CreateDB();
                 * }*/
                iDB.Delete(stPK, stTableName, value);
            }
            catch (Exception ex)
            {
                rm.IsSucessed = false;
                rm.Message    = "表【" + stTableName + "】删除数据失败,原因:" + ex.Message;
            }
            return(rm);
        }