2017.9.11 关于条件查询、combox、数据库操作效率以及JS的几个问题

分享人:蔡永坚

1. 如何在C#操作数据库的时候实现”where one=1 and (two =2 or three=3)”的条件查询

xxDB.AddSearch(XXX.one, DbSearchTypeEnum.Equal, 1, DbUnionCondition.And);
DbSearchField dsf = new DbSearchField(DbUnionCondition.And);
dsf.AddChildSearch(new DbSearchField(XXX.two, DbSearchTypeEnum.Equal, 2, true, DbUnionCondition.Or));
dsf.AddChildSearch(new DbSearchField(XXX.three, DbSearchTypeEnum.Equal, 3, true, DbUnionCondition.Or));                 
statusDB.AddSearch(dsf);

2. combox中的问题

如图所示,第一幅图中combox(上级件件号)下拉的区域没有遮住另一个combox(部件件号),如果选择的位置正好在下面的combox的位置,系统会判断为在一个combox中输入值。那么就无法选中了。如何解决使它像第二幅图的一样。

2017.9.11 关于条件查询、combox、数据库操作效率以及JS的几个问题_第1张图片
image.png
2017.9.11 关于条件查询、combox、数据库操作效率以及JS的几个问题_第2张图片
image.png

CSS中有z-index这个属性,值比较大的会遮住小的控件。
而框架combox中由以下部分组成

2017.9.11 关于条件查询、combox、数据库操作效率以及JS的几个问题_第3张图片
image.png

划蓝线的为下拉区域。

image.png

框架里设置下拉的区域与combox的输入框z-index都为1010,因此无法遮住。所以只要将下拉的区域的z-index值改成比输入框大才会遮住。

  • 方法一:根据AD修改
#ctl00_AddPlaceHolder1_EPI_EngineSNdorpdowndiv {
                z-index:1011;

  • 方法二:修改class
.chosen-container .chosen-drop {
            z-index:1011;

3. 数据库操作效率问题

2017.9.11 关于条件查询、combox、数据库操作效率以及JS的几个问题_第4张图片
image.png

假设以上页面姓名、入职时间、email在表1中
姓名、性别、联系电话在表2中,
姓名、生日在表3中。
姓名、科室在表4中。
因为查询条件分别在3个表中,所以用视图查询比较方便。因此我建了个这4个表的视图用于查询这个页面,发现查询需要3-4秒。如何优化?

Select-------
fromt1 
innerjoin t2 on t2.name=t1.name
innerjoin t3 on t3.name=t1.name
innerjoin t4 on t4.name=t1.name
where------

总结:把有搜索条件的字段用视图方式查出来,没有搜索要求的直接在页面上查出来显示可以有效地提高数据库操作效率。通过这种方式,可将查询时间优化到0.5秒以内。

4. js问题:以下三个输出是什么?

(1)   

(2)  

(3)  
   

(1)5,5
解释:一个

你可能感兴趣的:(2017.9.11 关于条件查询、combox、数据库操作效率以及JS的几个问题)