当前位置: 首页 > news >正文

广告在线制作图片外贸推广建站蓝颜seo牛

广告在线制作图片,外贸推广建站蓝颜seo牛,湖南人文科技学院招聘,知名外贸网站建设公司根据设计当MakeOld后#xff08;在读取数据库后#xff0c;或者手动调用#xff09;#xff0c;对记录(SubSonic生成的类#xff09;属性附值时#xff0c;Sonic会检测这个Value是否与原来的不同#xff0c;只有值不同时才会附值成功#xff0c;并将该列添加到DirtyCol…  根据设计当MakeOld后在读取数据库后或者手动调用对记录(SubSonic生成的类属性附值时Sonic会检测这个Value是否与原来的不同只有值不同时才会附值成功并将该列添加到DirtyColumns而DirtyColumns中的列才会被Update采用一般情况下 只要所有列中有一个列的是Dirtytrue(被更改过那么在Save时就会采用Update, 注意SubSonic中判断是否采用Update判断“全部字段集合”中是否存在一个字段被更改而生成Update命令时使用的集合是DirtyColumns集合而不是直接从全部字段集合中查找那些被更改的字段在多数情况下不会出问题但有些时候可能带来意想不到的问题参考下面的场境3。 //参考代码1             public bool IsDirty            {                get                {                    foreach(TableColumnSetting setting in this)                    {                        if(setting.IsDirty)                            return true;                    }                    return false;                }                //set                //{                //    foreach (TableColumnSetting setting in this)                //        setting.IsDirty value;                //}            } //参考代码2      public QueryCommand GetSaveCommand(string userName)        {            if(IsNew)                return GetInsertCommand(userName);             if(IsDirty)                return GetUpdateCommand(userName);             return null;        } 如果您对记录未做任何更改而直接调用 .Save()时会根据IsNew与IsDirty的取值来决定采用Insert或Update。 如果两个多是false那么就返回null.那么Save操作将什么都不做。 //参考代码3    QueryCommand cmd GetSaveCommand(userName);                if(cmd null)                    return; 场境1 Employe empnew Employe(1);//加载一个员工数据 //这个时候 IsNewfalse,IsDirtyfalse emp.Nameemp.Name; //没有改变 emp.Save();//这里的Save方法将不做任何处理   场境2 Employe empnew Employe(1); emp.NametxtName.txt;//假设您在文本框中调整了Name取值 //这个时候 isNewfalse;IsDirtytrue; emp.Save();将使用Update并且只更新Name字段。   场境3:报错) Employe empnew Employe(1); Employe backEmpnew Employe(); backEmp.CopyFrom(backEmp); //copyFrom后会backEmp.IsDirty全部是true //参考代码7 backEmp.Namexxxx; backEmp.MackOld();//将IsNew设置成False backEmp.Save(); //报错IsDirtyTrue,而DirtyColumns为空 //生成 Update Employe Set Where EmpoyeId1 这样的错误TSQL   场境4:(报错) Employe empnew Employe(1); Employe backEmpnew Employe(); backEmp.CopyFrom(backEmp); backEmp.MackOld(); backEmp.NamebackEmp.Name; backEmp.Save();//这时IsDirty是True,而DirtyColumns为空   正确作法应该在backEmp.MackOld()后再调用backEmp.MackClear(); //参考代码8       /// summary        /// Called after any property is set. Sets IsDirty to ctrue/c.        /// /summary        public void MarkClean()        {            foreach(TableSchema.TableColumnSetting setting in columnSettings)                setting.IsDirty false;            DirtyColumns.Clear();        } //参考代码4         /// summary        /// Called after Update() invokation. Sets IsNew to cfalse/c.        /// /summary        public void MarkOld()        {            IsLoaded true;            _isNew false;        } //参考代码5         /// summary        /// Copies the passed-in instance settings to this instance        /// /summary        /// param namecopyInstanceThe copy instance./param        public void CopyFrom(T copyInstance)        {            if(copyInstance null)                throw new ArgumentNullException(copyInstance);             foreach(TableSchema.TableColumnSetting setting in copyInstance.columnSettings)                SetColumnValue(setting.ColumnName, setting.CurrentValue);        } //参考代码6         /// summary        /// Sets a value for a particular column in the record        /// /summary        /// param namecolumnNameName of the column, as defined in the database/param        /// param nameoValueThe value to set the type to/param        public void SetColumnValue(string columnName, object oValue)        {            columnSettings columnSettings ?? new TableSchema.TableColumnSettingCollection();             // add the column to the DirtyColumns            // if this instance has already been loaded            // and this is a change to existing values            if(IsLoaded !IsNew)            {                TableSchema.Table schema GetSchema();                object oldValue null;                string oldValueMsg NULL;                string newValueMsg NULL;                bool areEqualOrBothNull false;                 try                {                    oldValue columnSettings.GetValue(columnName);                }                catch {}                 if(oldValue null oValue null)                    areEqualOrBothNull true;                else                {                    if(oldValue ! null)                    {                        oldValueMsg oldValue.ToString();                        areEqualOrBothNull oldValue.Equals(oValue);                    }                     if(oValue ! null)                        newValueMsg oValue.ToString();                }                 TableSchema.TableColumn dirtyCol schema.GetColumn(columnName);                 if(dirtyCol ! null !areEqualOrBothNull)                {                    string auditMessage String.Format(Value changed from {0} to {1}{2}, oldValueMsg, newValueMsg, Environment.NewLine);                    TableSchema.TableColumn dirtyEntry DirtyColumns.GetColumn(columnName);                    if(dirtyEntry ! null)                    {                        DirtyColumns.Remove(dirtyEntry);                        auditMessage String.Concat(dirtyCol.AuditMessage, auditMessage);                    }                     dirtyCol.AuditMessage auditMessage;                    DirtyColumns.Add(dirtyCol);                }            }             columnSettings.SetValue(columnName, oValue);//这里最终调用参考代码7         } //参考代码7             /// summary            /// Gets or sets the current value.            /// /summary            /// valueThe current value./value            public object CurrentValue            {                get { return _currentValue; }                set                {                    if(value null _currentValue null)                        return;                     if(value ! null)                    {                        if(value.Equals(_currentValue))                            return;                    }                     _currentValue value;                    _isDirty true;                }            }转载于:https://www.cnblogs.com/wdfrog/archive/2010/06/30/1768159.html
http://www.zqtcl.cn/news/638034/

相关文章:

  • 广州工信部网站查询wordpress mysql类
  • 销售网站内容设计书籍管理网站建设需求文档
  • 韩国网站如何切换中文域名如何备案教程
  • 网站维护的基本概念二维码生成器使用方法
  • 公司网站建设模块简介搭建自己的网站需要什么
  • 想做个网站怎么做给国外网站做流量
  • 长春建站培训班免备案虚拟空间
  • 做面包的公司网站alexa世界排名查询
  • 网站备案后下一步做什么263邮箱注册
  • 燕郊网站制作廊坊网站制作网站
  • 开网站建设网站如何做excel预览
  • p2p网站建设方案电商企业有哪些
  • 建设农场网站天元建设集团有限公司法定代表人
  • 论坛网站建设价格百度广告官网
  • 网站开发有哪些语言ps做登录网站
  • 网站怎么做百度关键字搜索国外服务器做网站不能访问
  • 如何选择品牌网站建设做网站容易吧
  • 广州建网站比较有名的公司提升学历英语翻译
  • php网站开发视频教程厦门网站建设公司首选乐振
  • 网站推广项目微信小程序登陆入口
  • 建设部监理协会网站微信公众平台开发微网站
  • 莆田cms建站模板现在可以做网站么
  • windows 建网站湖北省最新消息今天
  • 手机商场网站制作在线看网站源码
  • 云南建设厅网站房地产开发资质做哪一类网站能赚钱
  • 佛山优化网站关键词创作者服务平台
  • python做网站多少钱超级商城系统
  • 网站开发pc端和手机端长沙专业个人做网站哪家好
  • 永州网站建设收费标准天长网站开发
  • 做网站分辨率多少钱装修公司10强排名