form.handleinsert
功能说明
描述
插入数据到数据库中。(支持图片/附件/手写签名的文件操作)
支持部分mysql函数 ,请查看文档【支持的SQL函数】
函数原型
form.handleinsert(hd,formAlias,datas,submitter="")
参数
名称 | 类型 | 描述 |
---|---|---|
hd | 整型 | 通过 form.open() 得到的句柄 |
formAlias | 字符型 | 表单别名,可以在表单设计界面中的”表单属性”中获取(支持跨应用操作数据,格式为:"appid@表别名") |
datas | 数组:字典型 | 需要插入的数据 |
submitter | 字符型 | 数据提交人的userid,默认为空表示为当前云应用的默认用户 |
返回值
类型 | 描述 |
---|---|
整型 | 执行成功返回执行sql语句影响到的行数 |
备注
可能出现的错误信息,执行 getlasterror 函数获取具体详细信息:
- 错误编码=getlasterror()
- 错误信息=getlasterror(1)
错误编码 | 错误信息 |
---|---|
1407 | api执行频率超出限制 |
1400 | 参数类型不正确 |
1409 | 表单数据库的操作句柄不存在 |
1300 | 参数不是数组类型 |
1305 | 参数不是关联数组 |
1313 | 参数非法 |
1506 | 连接数据库失败 |
1502 | 取表单字段失败 |
1594 | 不允许操作回收站的表单 |
1524 | 数据不能为空 |
1504 | 不存在的字段 |
1514 | 系统字段,不能进行操作 |
1514 | 系统字段,不能进行更新操作 |
1583 | 非法的字段类型 |
1582 | 非法的表达式 |
1533 | 数据库执行失败 |
1539 | 非法的属性值 |
1586 | 文件不存在 |
其他:
- 所有表单api调用频率限制为1000次/分钟。
示例
def test():
# 普通数据提交
datas={}
datas["$单行文本1"]="123"
datas["$单行文本2"]="aabb"
datas["$地址"]={"province":"湖南省","city":"长沙市","district":"芙蓉区","detail":"文艺路街道鑫天大厦"}
datas["$定位"]={"province":"湖南省","city":"长沙市","district":"芙蓉区","detail":"文艺路街道鑫天大厦","lnglatXY":[112.996020,28.193890]}
# INSERT INTO 测试 SET 单行文本1 = 123 , 单行文本2 = "aabb";
ret=form.handleinsert(hd,"测试表单",datas)
print(ret)
# 子表单数据提交
datas={}
datas["$单行文本1"]="123"
datas["$单行文本2"]="aabb"
子表单={}
子表单["$子表单_单行文本"]="子表单_单行文本1"
子表单["$子表单_数字"]="111"
子表单["$子表单_下拉框"]="子表单_下拉框1"
子表单["$子表单_下拉复选框"]=["选项1","选项2"]
子表单["$子表单_日期时间"]=timenow()
子表单1={}
子表单1["$子表单_单行文本"]="子表单_单行文本2"
子表单1["$子表单_数字"]="222"
子表单1["$子表单_下拉框"]="子表单_下拉框2"
子表单1["$子表单_下拉复选框"]=["选项1","选项2","选项3"]
子表单1["$子表单_日期时间"]=timenow()
datas["$子表单"]=[子表单,子表单1]
ret=form.handleinsert(hd,"测试表单",datas)
print(ret)
# 图片/附件/手写签名的文件操作(需要先在前端手动插入1张图片)
# 图片为数组格式,可以有多个,例如: [{"_id":"5adf0f8e7f96c03842ae3f72","bucket":"form-file","uploader":"5b68110f7cf2885b5e19e66a","uploadTime":"2019-05-20T17:25:43Z","size":"98328","qnKey":"FhdH1pyNASeDYC3JwiJQB77vmJr2","name":"6.jpg","mime":"image/jpeg"}},"widgetType":"image"}]
arr=form.selectdata("测试表单",["$图片"])
datas={}
datas["$图片"]=arr[0]["图片"]
ret=form.handleinsert(hd,"测试表单",datas)
print(ret)
form.close(hd)
演示示例
- 暂无
安装包下载
- 暂无
相关视频
- 暂无