起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2742|回复: 8

[结贴] 用baasData怎么修改数据库数据?

[复制链接]

4

主题

10

帖子

60

积分

初级会员

Rank: 2

积分
60
QQ
发表于 2017-11-8 12:51:32 | 显示全部楼层 |阅读模式
用baasData.getValue()可以很方便的读取绑定数据库中的数据。但用baasData.setValue()却有时能成功修改,有时不能。查了很久,没找到有关baasData的方法使用方面的资料。在哪里能找到?
主要想解决的问题是:用输入输出组件绑定baasData,可以方便地进行数据查删改增,但如果不绑定输入输出组件,怎么使用baasData进行数据库的查删改增?
发表于 2017-11-8 14:07:17 | 显示全部楼层
baasData  关联BaasServer 的用法!请参考视频介绍
http://www.wex5.com/1-wex5#06
WeX5后端服务教程

getValue 和 setValue 方法调用可以看API 文档!  最后一个参数是row 行对象! 默认为空表示当前行!但是保证当前行必须是存在的!  默认是第一行,但是如果你加载数据时,不是调用refreshData  ,就不会默认定位到第一行了
http://docs.wex5.com/wex5-ui-question-list-2071
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

4

主题

10

帖子

60

积分

初级会员

Rank: 2

积分
60
QQ
 楼主| 发表于 2017-11-8 20:49:10 | 显示全部楼层
根据楼上的指点,也看了API文档,试了各种取得当前行的办法,还是不行。

有没有使用setValue和setValueByID的案例?
回复 支持 反对

使用道具 举报

发表于 2017-11-9 13:26:12 | 显示全部楼层
northguest 发表于 2017-11-8 20:49
根据楼上的指点,也看了API文档,试了各种取得当前行的办法,还是不行。

有没有使用setValue和setValueByI ...

文档介绍就有案例
http://doc.wex5.com/comps-data/
baasData组件是继承的data组件! data组件有的方法baasData 都有的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

4

主题

10

帖子

60

积分

初级会员

Rank: 2

积分
60
QQ
 楼主| 发表于 2017-11-9 19:08:47 | 显示全部楼层
文档中的例子太简单,比如:

//设置行id为123的行的字段fName的值是小明。
var data = this.comp('mainData');
data.setValueByID('fName','小明','123');

但是这样做根本无法成功。

我的需求很简单,就是要通过一个绑定mysql数据库表的baasData,修改数据库表中某行某字段的值。要保证上面两行代码成功,还需要哪些操作?
就这么点儿事,莫非一定要写个后端服务程序,前端通过baas.sendRequest调用?
x5前端非常好,省心省力,后端简直要了命,不知哪里会遇到坑。恨不得只做好前端就完了,后端全部自己写代码。
回复 支持 反对

使用道具 举报

发表于 2017-11-10 09:01:49 | 显示全部楼层
northguest 发表于 2017-11-9 19:08
文档中的例子太简单,比如:

//设置行id为123的行的字段fName的值是小明。

baasData  修改字段后直接调用 data.saveData() 保存就可以保存到数据库了啊!

BaasServer 使用很简单的,你可以先看下视频
http://www.wex5.com/1-wex5/
WeX5后端服务教程

当然后台也可以自己实现!BaasServer 只是一个简单的sevlet  就是ajax调用的!

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

4

主题

10

帖子

60

积分

初级会员

Rank: 2

积分
60
QQ
 楼主| 发表于 2017-11-10 10:44:33 | 显示全部楼层
在下一行试用了多次data.saveData();还是存不进数据库。深度怀疑baasData中setValue和setValueByID方法的可靠性,对成功使用这些方法的环境有哪些要求也不明确。

顽固地试用这种方法,结果浪费了几天时间,对baasData的相关方法已经存有心理阴影。还是堆代码吧,昨晚,自己写后端服务代码前端ajax调用已经解决。
回复 支持 反对

使用道具 举报

发表于 2017-11-10 11:29:26 | 显示全部楼层
northguest 发表于 2017-11-10 10:44
在下一行试用了多次data.saveData();还是存不进数据库。深度怀疑baasData中setValue和setValueByID方法的 ...

data 能不能保存是由 行状态决定的
http://docs.wex5.com/wex5-ui-question-list-2184

按理说,修改字段的值,data 行状态会自动改变的! 你可以调试打印下行状态!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

4

主题

10

帖子

60

积分

初级会员

Rank: 2

积分
60
QQ
 楼主| 发表于 2017-11-12 09:36:53 | 显示全部楼层
问题找到了。测试数据库不知怎么弄的,某几个字段值中竟然出现了大量回车换行,导致字段值长度超出了该字段长度。getValue读正常字段能成功,后台服务用sql语句修改正常字段也能成功,但setValue然后saveData,是整行保存就涉及到出问题字段而无法成功。将数据库表问题字段修正后,一切正常。
仔细回想,未曾动过测试数据库中那些字段,那些字段也未曾绑定任何组件,不知道那些字段值中的回车换行符是怎么出现的,而且几乎都是在字段值字符串中的分号”;“前后和序号”1、2、3“的前后出现。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-30 12:25 , Processed in 0.073540 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表