前端datagrid("getSelections")问题&后台SQL查询问题
来源:互联网 发布:中山大学附属医院 知乎 编辑:程序博客网 时间:2024/06/04 19:18
1、今天开发的时候碰到一个问题,使用var rows = $("#a").datagrid("getSelections");获取选中的datagrid数据行时,无论选取了多少行,返回结果都是只有一行。
而且如果选取了多行,然后取消其中一行,返回结果将为0.
查询了相关资料,了解到以下结果:
datagrid("getSelections")获取选中行是根据所选行的idField进行区分的,即如果idField是不变的话,无论选取多少行,返回的结果都只有一行。
查询了项目代码之后,发现果然是idField出了问题,原本的groupId变成了groupid,所以idField不再是从数据库中获取的唯一标识符groupId而是一个垃圾值groupid。
将其改过来之后即可。
另外需要注意,如果需要判断选取结果是0的情况,即if(rows.length == 0 || rows == null),那么在这之前不能使用类似name = rows[0].name之类的语句进行取值。否则当没有选取rows时,无法执行该if语句中的代码。在使用中,需要在该if语句中加上一句return false; 然后将name = rows[0].name之类的语句放在该if代码块之后执行。
2、后台SQL查询问题
说来也很惭愧,犯了一个很基础的问题。
因为需要使用的SQL语句比较长,所以在代码中对其进行了换行,即:
</pre><pre name="code" class="java">String sql = "select * from table1 t1"+ "left join table2 t2"+ "on t1.xx = t2.xx";
开始我写的代码就是和这个比较类似的,然后程序报错,查看错误信息,发现是查询语句的问题。一看,原来因为在换行的时候没有考虑到字符串连接时没有空格的问题,导致SQL语句出错。
更改为如下代码即可:
String sql = "select * from table1 t1 "+ "left join table2 t2 "+ "on t1.xx = t2.xx";
同时还遇到的问题是sql语句执行失败。
查找原因,发现是EntityManager中createNativeQuery和createQuery的问题。
createNativeQuery用于SQL语句查询,createQuery语句用于JPQL语句查询。
SQL语句使用createQuery的话会报unexcept token的错误,使用createNativeQuery就可以了。
createNativeQuery之后使用getResultList即可得到返回的查询结果列表了。
- 前端datagrid("getSelections")问题&后台SQL查询问题
- jquery easyui datagrid的getSelections问题
- jquery easyui datagrid的getSelections问题
- 解决"var rows = $('#dg').datagrid('getSelections');" rows.length总是为1的问题
- 3 通用查询(前端 后台 sql)
- Javaweb开发后台使用sql查询效率问题
- datagrid getSelections只能获取一行
- 前端传数组给后台的问题
- web前端传值到后台的问题
- 后台数据传入前端乱码问题
- JqueryEasyUI的DataGrid数据查询问题
- Datagrid 与Treegrid的查询问题
- sql统计查询问题
- SQL查询的问题
- sql查询排名问题
- 查询SQL大小写问题
- sql递归查询问题
- sql分组查询问题
- Hihocoder后序遍历
- Printk的loglevel和日志记录分析
- nginx安装和配置反向代理服务器
- 内核proc文件系统 --和--seq接口
- hdu 4989 Summary(STL)
- 前端datagrid("getSelections")问题&后台SQL查询问题
- 编程算法 - 快速排序(QuickSort)和二分查找(BinarySearch)
- PHONE6大战一触即发,地图API开发应用独领风骚
- 备份部分网址
- 转 mysql 慢查询
- 欢迎大家参加Docker Practice项目
- 在Linux上安装Memcached服务
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
- 从Code Review谈如何做技术