zoukankan      html  css  js  c++  java
  • 常用函数

    //同时修改主从表、或多表的时候,对从表的更新模式做调整
            protected override void SetUpdateMode(SQLTableInfo info, ref UpdateMode mode)
            
    {
               
    if (info.TableName == fFaultTableInfo.TableName || info.TableName==fProductTableInfo.TableName)
                mode 
    = UpdateMode.Merge;
            }

    //代码表
            protected override void AddCodeTable(StringCollection codeTables)
            
    {
               
    base.AddCodeTable(codeTables);    
               codeTables.Add(
    "CD_SELL_AREA");        //销售范围
             }
            

    //数据权限
            protected override void SetSubFunctionKey(PageStyle style, ref object subKey)
            
    {
                
    base.SetSubFunctionKey (style, ref subKey);
            }


    //主从表内容
            protected override void AddDetailListTable(StringCollection detailTables, StringCollection detailCodeTables, 

    object key)
            
    {
                
    //登录的用户信息
                string UsersSql = string.Format("SELECT DISTINCT USER_ID CODE_VALUE,USER_NAME CODE_NAME FROM UR_USERS 

    WHERE (USER_ID IN(SELECT HP_CREATE_ID FROM EB_HOSPITAL WHERE HP_ID 
    = '{0}')) OR (USER_ID IN(SELECT HP_UPDATE_ID FROM 

    EB_HOSPITAL WHERE HP_ID 
    = '{0}'))",key.ToString());
                BrowseInfo.ChangeSql(UsersSql,"UR_USERS",DbConnection,this);

                
    //医院信息
                string HospitalSql = string.Format("select * from EB_HOSPITAL EB_HOSPITAL_DETAIL where HP_PARENT_ID = 

    '{0}'",key.ToString());
                BrowseInfo.ChangeSql(HospitalSql,"EB_HOSPITAL_DETAIL",DbConnection,this);
                
    //人员信息
                string PersonSql = string.Format("select EB_PERSON_INFO.* from EB_PERSON_INFO INNER JOIN EB_HOSPITAL 

    ON PI_HP_ID 
    = HP_ID AND HP_ID = '{0}'",key.ToString());
                BrowseInfo.ChangeSql(PersonSql,"EB_PERSON_INFO",DbConnection,this);
                
    //保修卡信息            
                string CardSql = string.Format("SELECT EB_GUARANTEE_CARD.*, EB_PRODUCT_OUT.* FROM EB_HOSPITAL INNER 

    JOIN EB_GUARANTEE_CARD ON  EB_HOSPITAL.HP_ID 
    = EB_GUARANTEE_CARD.GC_HP_ID AND EB_HOSPITAL.HP_ID ='{0}' INNER JOIN 

    EB_PRODUCT_OUT ON  EB_GUARANTEE_CARD.GC_PC_CODE 
    = EB_PRODUCT_OUT.PO_PC_CODE AND       EB_GUARANTEE_CARD.GC_BAR_CODE = 

    EB_PRODUCT_OUT.PO_BAR_CODE
    ",key.ToString());            

                BrowseInfo.ChangeSql(CardSql,
    "EB_GUARANTEE_CARD",DbConnection,this);
                
                
    base.AddDetailListTable(detailTables, detailCodeTables, key);
            }




    //多表的修改    
    protected override void FillUpdateTables(object key,PageStyle style)
            
    {            
                TableInfo.SetKeyValueAndFill(DbConnection,key,
    this);
                
                
                fCFTableInfo.FillData(
    this,DbConnection,string.Format("WHERE CF_RSC_ID = {0}",key.ToString()));
                fCSFTableInfo.FillData(
    this.DbConnection,string.Format("WHERE CSF_RSC_ID = {0}",key.ToString()));
                
    //工作报告信息            
                string ReportSql = string.Format("select SR_ID AS CODE_VALUE,SR_CODE AS CODE_NAME from EB_SERVICE 

    where SR_ID
    ='{0}'",Tables[TableName].Rows[0]["RSC_SR_ID"].ToString());
                BrowseInfo.ChangeSql(ReportSql,"EB_SERVICE",DbConnection,this);
                MidSearchFields.FillDataSet(
    this);

            }
        

    //夺标的修改删除
    protected override void FillUpdateTables(DataSet postDataSet)
            
    {
                
    //从表内容
                 string key = postDataSet.Tables[TableName].Rows[0][KeyFields].ToString();            
                TableInfo.SetKeyValueAndFill(DbConnection,key,
    this);
                fCFTableInfo.FillData(DbConnection,
    string.Format("WHERE CF_RSC_ID = '{0}'",key));
               fCSFTableInfo.FillData(DbConnection,
    string.Format("WHERE CSF_RSC_ID = '{0}'",key));
                
    //将服务工作报考的名称替换为ID PostDataSet.Tables                
                DataTable fTable =PostDataSet.Tables[TableName];
                
    string sql = string.Format("Select SR_ID from EB_SERVICE where 

    SR_CODE
    ='{0}'",fTable.Rows[0]["RSC_SR_ID"]);
                string fsr_id=DataSetUtil.ExecuteScalar(sql,DbConnection).ToString();
                
    //替换结束
                if(fsr_id == null || fsr_id == string.Empty)
                
    {
                    ErrorObjects.Add(
    new ErrorObject("EB_REPAIR_SERVICE_CONTRACT" , "RSC_SR_ID" , "输入服务单号不

    正确
    ",0));
                    fTable.Rows[0]["RSC_SR_ID"]= DBNull.Value;
                }

                
    else
                
    {                
                    fTable.Rows[
    0]["RSC_SR_ID"]=Convert.ToInt32(fsr_id);
                }

                CheckPostData(PostDataSet,fCFTableInfo);
                CheckPostData(PostDataSet,fCSFTableInfo);
                
            }

            
    public void CheckPostData(DataSet postData,SQLTableInfo fDtailTableInfo)    
            
    {
                    DataTable table 
    = postData.Tables[fDtailTableInfo.TableName] ;
                
                
    if(table == null)
                
    {
                    TableInfoCollection.Remove(fDtailTableInfo);
                    
    return;
                }
        
                
    if (postData.Tables.Contains(fDtailTableInfo.TableName))
                
    {
                    
                    
    int i = 1 ;                
                    
    for (int j=table.Rows.Count - 1; j>=0--j, ++i)
                    
    {
                        DataRow row 
    = table.Rows[j] ;
                        
    if (row[fDtailTableInfo.KeyFields].ToString() == string.Empty)
                            row[fDtailTableInfo.KeyFields] 
    = -i ;

                    }

                }

            }

                        

            
    protected override void CommittingData()
            
    {
                
    base.CommittingData ();
                
    if(this.CurrentPageStyle == PageStyle.Update && this.PostDataSet.Tables[fCFTableInfo.TableName] == 

    null && 
                    Tables[fCFTableInfo.TableName] 
    != null && 
                    Tables[fCFTableInfo.TableName].Rows.Count 
    > 0)
                
    {
                    fCFTableInfo.SetCommands(AdapterCommand.Delete,DbConnection);
                    
    foreach(DataRow row in Tables[fCFTableInfo.TableName].Rows)
                    
    {
                        row.Delete();
                    }

                    TableInfoCollection.Add(fCFTableInfo);
                }

                
    if(this.CurrentPageStyle == PageStyle.Update && this.PostDataSet.Tables[fCSFTableInfo.TableName] == 

    null && 
                    Tables[fCSFTableInfo.TableName] 
    != null && 
                    Tables[fCSFTableInfo.TableName].Rows.Count 
    > 0)
                
    {
                    fCSFTableInfo.SetCommands(AdapterCommand.Delete,DbConnection);
                    
    foreach(DataRow row in Tables[fCSFTableInfo.TableName].Rows)
                    
    {
                        row.Delete();
                    }

                    TableInfoCollection.Add(fCSFTableInfo);
                }

            }
  • 相关阅读:
    大型网站架构系列:20本技术书籍推荐
    程序员进阶顺序
    乐观锁与悲观锁——解决并发问题
    Redis的事务功能详解
    驱动开发(8)处理设备I/O控制函数DeviceIoControl
    钱币兑换问题(杭电1284)(母函数)
    jqm文件上传,上传图片,jqm的表单操作,jqm的ajax的使用,jqm文件操作大全,文件操作demo
    问:简述一下内部类的实质是什么?
    Android 删除新版安卓fragment_main.xml
    保温饭盒毕业设计程序
  • 原文地址:https://www.cnblogs.com/chinatefl/p/166077.html
Copyright © 2011-2022 走看看