关于slavetable
slavetable有两种情况,
从表有三个要素
1、自己主键字段的idfield
2、对应主表的主键字段masterIdField
3、对应主表主键的值
模式一、MasetrEdit模式 也就是主表记录编辑模式
此时,主表记录的id值是确定的
slavetable的动作:
m_initial(bean or modulename,linkfield)
m_setMasterEditMode(masterfieldvalue)
listview m_selectFromMasterId() 从从表中查询符合主表id主的,然后listview显示
editview,此时masteridvalue是确定的,锁定的,不需要添加
addview,此时masteridvalue是确定的,锁定的,自动添加
初始化的时候得到 自己的idfield,master对应的idfield
模式二、MasterAdd模式,也就是主表记录新增模式
slavetable的动作:listview 为空,不需要显示,因为是新增
addview,里面masterIdValue是空的,锁定的,不需要添加,
从listview中得到的,editview ,masterIdValue是空的,锁定的,不需要添加
问题1:slavetable会在没有主表id值得情况下,被使用吗?
答:会,主要是在主从表添加的时候,此时还不知道主表的id值
但是在MasterSlave的editview情况下,是有masterid值的
答案:slavetable是根据主表而出现的一种形式,所以,主表的addview,和editview对于slavetable是不同的。
如果主表处于addview方式时,slavetable中,对应主表的id值没有,所以在新增和显示时,都没有显示
如果主表处于editview方式时,slavetable的对应的主表id已经有值,所以需要显示并自动增加。
一、listview
一、标准的主从使用
此时,因为master还没有保存,可能还没有得到master的id。\
所以,从表在增加时,是不知道masterid的,
那么此时的idfield需要显示吗?实际上,在addview时,不需要显示,在editview时需要显示。
如果此时idfield为 int字段,则显示会有错乱,因为会全部显示为0,而其实在新增时,会另外赋予真正的值。
所以,在tag=new时,id的值,应该不显示????这个仅限于id为自增长或者guid的情况,因为会自动增加。
这就意味着,slavetable有一个限制,只适应于id为在新增的时候自动增加id值的情况。
如果id为其他可识别的标识,只能用脚本改变,??????
二、单独的从表使用方式
此时,应该知道masterid的值
关于slavetable的更多相关文章
- Oracle 外键级联更新
Oracle数据库中,外键约束只允许级联删除,不允许级联更新,因此,如果想要实现主表数据更新后,子表外键自动更新,只能取消外键关系,通过前端程序来维护实现完整引用,一个代替的解决方案是使用延迟约束和触 ...
随机推荐
- <转载> bat 脚本基本语法 http://blog.csdn.net/bluedusk/article/details/1500629
bat 脚本基本语法 2007-01-25 10:31 常用命令 echo.@.call.pause.rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起. = ...
- C++学习基础十五--sizeof的常见使用
sizeof的常见用法 1. 基本类型所占的内存大小 类型 32位系统(字节) 64位系统(字节) char 1 1 int 4 4 short 2 2 long 4 8 float 4 4 doub ...
- react-native Animated, 旋转动画
Animated 仅封装了四个可以动画化的组件: View.Text.Image.ScrollView 可以使用 Animated.createAnimatedComponent()来封装你自己的组件 ...
- react-native ios 集成 react-native-baidu-map
自己测试了下,https://www.jianshu.com/p/eceb7e66fa5e?appinstall=0 记录下自己遇到的问题,以及解决方法, 首先新建一个react native项目,然 ...
- flash builder的配色方案
写代码的时候看着代码颜色不是特别好,于是研究了一下flash builder的配色方案. flash builder由eclipse开发,采用和eclipse相同的配置方法,这个网站上有很多配色模板: ...
- 爬虫--scrapy+redis分布式爬取58同城北京全站租房数据
作业需求: 1.基于Spider或者CrawlSpider进行租房信息的爬取 2.本机搭建分布式环境对租房信息进行爬取 3.搭建多台机器的分布式环境,多台机器同时进行租房数据爬取 建议:用Pychar ...
- es6 初级之---const 和 默认参数
1. const 的定义: 1.1 常量定义的时候要赋值,不赋值是会报错的: <!DOCTYPE html> <html lang="en"> <he ...
- Sql Server 中由数字转换为指定长度的字符串
一个列的数据类型是 int ,从 1 开始自动增长,另一个列是字符串,现在想把 int 列转换成 九个字符,比如 1 转换后就是 000000001 ,添到字符串列,怎么实现呢? set @imaxU ...
- openwrt多wan限上下行速脚本,基于qosv4,imq模块替换成ifb模块[ZT]
转自: http://www.right.com.cn/forum/thread-169414-1-1.html ,本人未经测试,转来自已备用 由于树莓派2装openwrt官方没有imq模块, 好像说 ...
- Android事件拦截机制 - 两句话
模拟情形:ViewGroupA ->ViewGroupB->View False往下走,True就停下.(适用于事件传递和事件处理)