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

QQ登录

只需一步,快速开始

查看: 3186|回复: 10

[处理中3] baasserver 问题

[复制链接]

28

主题

87

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
发表于 2017-10-27 11:42:14 | 显示全部楼层 |阅读模式
问题一:   建好baas服务后,更改数据库结。 不管怎么重启,怎么刷新。 程序里都不会更新最新的数据结构。[前提更改数据结构后重新模形编辑了,最后连服务都重建了]。 问题依旧
问题二:   不能保存,却可以查询。 [重新模形编辑了,重启了Tomcat]
                提示:NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://172.16.70.246:810/baas/fruit/fruit/saveTb_user'.
                代码:Model.prototype.saveUserClick = function(event){
       
        this.comp("baasData3").saveData({
         "onSuccess" : function(){
                            justep.Util.hint("完成保存");
                            }           
        });

        };


2.jpg
1.jpg

28

主题

87

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-10-27 13:50:02 | 显示全部楼层
http://172.16.70.246:810/baas/fruit/fruit/queryTb_users
得到结果:
{ "@type": "table", "userdata": { "relationAlias": "id,uaddress,umail,uname,upasswrod,utel", "relationTypes": "STRING,STRING,STRING,STRING,STRING,STRING" }, "rows": [ { "userdata": { "recordState": "none" }, "id": { "value": "user" }, "uaddress": { "value": "广东深圳" }, "umail": { "value": null }, "uname": { "value": "新用户" }, "upasswrod": { "value": null }, "utel": { "value": "12345678" } } ] }

http://172.16.70.246:810/baas/fruit/fruit/saveTb_users
结果: 空白。没有报505找不到页面错误。
回复 支持 反对

使用道具 举报

28

主题

87

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-10-27 14:53:14 | 显示全部楼层
后端是baas.net
回复 支持 反对

使用道具 举报

发表于 2017-10-27 18:39:03 | 显示全部楼层

更改了数据库结构!
对应的 baasData组件 需要重新生成才可以的! 或者重新选择表!
因为baasData 的字段是不会感知的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

28

主题

87

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-10-28 09:02:17 | 显示全部楼层
本帖最后由 hspcyeling 于 2017-10-28 09:04 编辑

问题二,做连动测试发现。

在这里不是新增了,是修改。

提取出的SQL:{UPDATE tb_users SET id=?id,uaddress=?uaddress,uname=?uname,upassword=?upassword,utel=?utel WHERE id =?id}

错误提示:"如果分配给命令的连接位于本地挂起事务中,ExecuteNonQuery 要求命令拥有事务。命令的 Transaction 属性尚未初始化。"

所以在这里并没有执行Util.SaveData(conn, table, GetSaveColumnsByPermissions(permissions, tableName));,直接catch出去了


  try
            {
                foreach (var jsonTable in tables)
                {
                    var table = Transform.JsonToTable((JSONObject)jsonTable);
                    var tableName = table.TableName;
                    if (CanSave(permissions, tableName))
                    {
                        Util.SaveData(conn, table, GetSaveColumnsByPermissions(permissions, tableName));
                    }
                }
                tran.Commit();
                return null;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                tran.Rollback();
            }
回复 支持 反对

使用道具 举报

28

主题

87

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-10-28 10:12:17 | 显示全部楼层
   DbCommand newCommand = conn.CreateCommand();

                newCommand.CommandText = CreateNewSQL(table, columns);
                foreach (Row row in table.GetRows(RowState.NEW))
                {
                    newCommand.Parameters.Clear();
                    newCommand.Parameters.AddRange(CreateNewParameters(newCommand, row, columns).ToArray());
                    newCommand.ExecuteNonQuery();   是这里出的错。

搜了一下以前的帖子的,好像是说newCommand.transaction赋值,是NULL
回复 支持 反对

使用道具 举报

28

主题

87

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-10-28 11:34:51 | 显示全部楼层
更改以上的,mysql不会报错, MS报错,原因
private static string CreateUpdateSQL(Table table, ICollection<string> columns)
        {
            StringBuilder sql = new StringBuilder();
            sql.Append("UPDATE " + table.TableName);
            sql.Append(" SET " + ArrayJoin(columns.ToArray(), "{0}=?{0}", ","));
            sql.Append(" WHERE " + table.IDColumn + " =?"+ table.IDColumn);
            return sql.ToString();
        }

将? 更改为@正常
回复 支持 反对

使用道具 举报

28

主题

87

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-10-30 13:43:01 | 显示全部楼层
更改以上CS后,可以正常增删改,但最后一步会报网络出错。我不知道这个错误来自那里,一步步调试时并没有发现。那位大神知道了告诉小弟一声。

wex5 + .net   路还很长啊。
回复 支持 反对

使用道具 举报

发表于 2017-10-30 18:20:08 | 显示全部楼层
hspcyeling 发表于 2017-10-30 13:43
更改以上CS后,可以正常增删改,但最后一步会报网络出错。我不知道这个错误来自那里,一步步调试时并没有发 ...

.net 和 PHP 的服务确实需要自己研究了~!  具体报错信息是什么呢?
发来看下吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

28

主题

87

帖子

253

积分

中级会员

Rank: 3Rank: 3

积分
253
QQ
 楼主| 发表于 2017-10-31 10:42:29 | 显示全部楼层
就是这个通用的错误提示。 我猜测是不是增删改后baas 需要返回JSON给WEX5, 如果没有返回码则报网络出错。
因为我调试时发现显示返回的是table 的json , 但增删改好像没有返回数据的。

2.jpg
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-1 16:47 , Processed in 0.055740 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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