测试原因及目的:
此次测试外部数据选择控件,数据来源主要为MySQL数据创建视图。因为前一段使用SQLServer创建视图可直接使用,未出现数据显示为空白情况,此次使用时,创建很简单的查询视图为了列表控件调用,没想到遇此问题,所以做此测试,以便记录问题原因。
测试环境:
字段:流水号:(用于数据选择回填)
- 此次测试调用原视图:这个视图为本次要使用视图,直接通过SELECT查询。结果就是查询数据可显示条数,但是内容全为空白。
- 排除问题修改视图:这个视图为排除上一视图问题而创建,经过测试就算将视图查询只留有一个字段:【select `bpm_data_39_list_295_child`.`run_id` AS `run_id` from `bpm_data_39_list_295_child`】依然会出现此问题,但是如果将视图设置成:【select max(`bpm_data_39_list_295_child`.`run_id`) AS `run_id` from `bpm_data_39_list_295_child`】这样的加入MAX关键字,就可以正常使用。这两种视图最终造成的就是第1各视图【可以更新】选项为是,第2个为否。最终确认将原来的视图设置成不可以更新之后就能够正常查询使用。
- 同样调用视图(不一个视图):这个视图为之前创建的,视图也为基本的查询视图,但是区别在于此视图可以更新显示为否。经测试调用无问题。
- 此次测试调用数据表:直接调用视图来源表,测试没问题
结论:
外部数据选择控件、列表控件中调用外部数据源数据视图必须不可以更新,如此才能调出数据,不然就会出现下图问题(可以查出数据,但是不能提取数据内容)。
最简单创建不可更新视图方法为:将视图算法设置为TEMPTABLE
即可创建不可更新视图。
图1:可更新视图,查询结果
图2:不可更新视图,查询结果
Comments | NOTHING