2017.9.19 下拉框显示所查数据、DbSearchField[]、db.SelectForm和try catch 的使用

分享人:王颢

1. 查询得到表中数据,以下拉框形式显示

2017.9.19 下拉框显示所查数据、DbSearchField[]、db.SelectForm和try catch 的使用_第1张图片
image.png
string dept _code = selectStringDeptCode (moduleFlag);
DEP_CODE.SetContent(dept_code);
public string selectStringDeptCode(modulFlag m)
        {
            Model.Bas_Dept[] _branch= DB.Bas_ Dept.selectDept(m);
            string selectString = "[";
            foreach (var bra in _branch)
            {
                selectString += "{TId:'" + bsd.DEP_CODE + "',PId:'0',Show:'" + bsd.DEP_NAME + "'},";
            }
            selectString.Substring(0, selectString.Length - 1);
            selectString += "]";
            return selectString;
        }
      //排班部门
      Model.Bas_Dept[] depCode = DB.Bas_Dept.getAll(moduleFlag);
      DEP_CODE.SetContent(depCode, EBas_Dept.DEP_NAME, EBas_Dept.DEP_CODE);
      //depCode:查询的需要显示的名称;  EBas_Dept.DEP_NAME:需要显示的下拉名称; EBas_Dept.DEP_CODE:需要显示的下拉名的代码

2. DbSearchField[]

public static Model.Bas_Fleet[] queryByPlanType(int type, string PLquarry = "")
        {
            Bas_Fleet db = new Bas_Fleet();
            db.AddSearch(EBas_Fleet.Status, DbSearchTypeEnum.Equal, LoongAir.Model.Enums.ActiveStatus.Enable, DbUnionCondition.And);

            if (!string.IsNullOrEmpty(PLquarry))
            {
                DbSearchField[] FTYPs = new DbSearchField[2];
                FTYPs[0] = new DbSearchField(EBas_Fleet.AC_TYPE, DbSearchTypeEnum.Like, "%" + PLquarry + "%", true, DbUnionCondition.Or);
                FTYPs[1] = new DbSearchField(EBas_Fleet.AC_TYPE_LONG, DbSearchTypeEnum.Like, "%" + PLquarry + "%", true, DbUnionCondition.Or);
                DbSearchField FTYP = new DbSearchField(DbUnionCondition.And, FTYPs);
                db.AddSearch(FTYP);
            }
            if (type != 0)
            {
                db.AddSearch(EBas_Fleet.PLANE_TYPE, DbSearchTypeEnum.Equal, type);
            }
            String s = db.GetSelectSql();
            return db.Select();
        }

通过DbSearchFiled[2]将FTYPs[0], FTYPs[1]放入括号中:

2017.9.19 下拉框显示所查数据、DbSearchField[]、db.SelectForm和try catch 的使用_第2张图片
image.png

3. db.SelectForm

2017.9.19 下拉框显示所查数据、DbSearchField[]、db.SelectForm和try catch 的使用_第3张图片
image.png

除了在视图查询和多表查询的情况下使用该方法,一般的单表查询不推荐使用,防止SQL注入。sql注入_百度百科

4. try catch 的使用

  • 目的:将未正常导入的数据导出
  • try catch 是要用来捕获未知异常,用来作为导出条件并不可取(隐藏了抛出的异常,却把抛出异常作为导出条件)。应做单独的逻辑判断后导出。
2017.9.19 下拉框显示所查数据、DbSearchField[]、db.SelectForm和try catch 的使用_第4张图片
image.png

你可能感兴趣的:(2017.9.19 下拉框显示所查数据、DbSearchField[]、db.SelectForm和try catch 的使用)