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

QQ登录

只需一步,快速开始

查看: 2600|回复: 15

[结贴] 自己创建一个table,用BizData.save() 执行没反应

[复制链接]

19

主题

85

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
发表于 2013-10-11 17:39:40 | 显示全部楼层 |阅读模式
我有这么一个需求,接管系统生成的save Action ,根据table的 row 创建新的table ,最后用BizData.save(), 但是执行没反应,也不报错。我调试看了一下table,感觉很正常,是不是有什么地方要注意的。
代码如下:

public static int savePo_productprint_detail(List insertRange, List deleteRange, List updateRange, String concept, String dataModel,
   String fnModel, String readOnly, String notNull, Table table) {
  int flag = 0;
  Iterator<Row> rows = table.iterator();
  Concept c = (Concept) ModelUtils.getModelObjectByFullName("/graylaus/po/ontology/po_print", Concept.TYPE);
  List<Relation> relationlist = c.getRelations();
  List<String> colnamelist = new ArrayList<String>();
  List<String> coltypelist = new ArrayList<String>();
  Iterator<Relation> relationit = relationlist.iterator();
  int i = 0;
  while (relationit.hasNext()) {
   Relation relation = relationit.next();
   colnamelist.add(i, relation.getName());
   coltypelist.add(i,relation.getDataType());
   i++;
  }
  colnamelist.add("po_print");
  coltypelist.add("String");
  Table printTable = TableUtils.createTable(table.getModel(), colnamelist, coltypelist);
  printTable.getMetaData().setKeyColumn("po_print");
  while (rows.hasNext()) {
   Row row = rows.next();
   ModifyState rowState = row.getState();
   if (ModifyState.NEW.equals(rowState)) {
    String numgroup = row.getString("fprint_num");
    String sizetype = row.getString("fsizetype");
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("sizetype", sizetype);
    Table sizetable = KSQL.select("select a.* from po_size a where a.fsize_type=:sizetype order by a.fsize_code ", params, dataModel,
      null);
    if (numgroup.indexOf(",") != -1) {
     int k = 0;
     String[] nunarray = numgroup.split(",", -1);
     Iterator<Row> sizerows = sizetable.iterator();
     while (sizerows.hasNext()) {
      Row sizerow = sizerows.next();
      if (!"".equals(nunarray[k]) && Integer.parseInt(nunarray[k]) > 0) {
       Row addRow = printTable.appendRow();
       //此处是一个set值的方法
       insertprintRow(row, addRow, Integer.parseInt(nunarray[k]), sizerow);
      }
      k++;
     }
    } else {
      Row addRow = printTable.appendRow();
      insertprintRow(row, addRow, Integer.parseInt(numgroup), sizetable.iterator().next());
    }
   }
  }
  //这个正常
  flag = BizData.save(table, concept, insertRange, deleteRange, updateRange, readOnly, notNull, dataModel, fnModel);
  //这个执行没反应
  int sd=BizData.save(printTable, "po_print", insertRange, deleteRange, updateRange, readOnly, notNull, dataModel, fnModel);
  return flag;
}

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2013-10-11 17:51:48 | 显示全部楼层
java代码打断点调试看一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

19

主题

85

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
 楼主| 发表于 2013-10-11 17:54:03 | 显示全部楼层
调试了的 没有错误,就是
int sd=BizData.save(printTable, "po_print", insertRange, deleteRange, updateRange, readOnly, notNull, dataModel, fnModel);
执行没反应
回复 支持 反对

使用道具 举报

19

主题

85

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
 楼主| 发表于 2013-10-12 09:15:28 | 显示全部楼层
能不能帮我看看
回复 支持 反对

使用道具 举报

2

主题

812

帖子

951

积分

高级会员

Rank: 4

积分
951
QQ
发表于 2013-10-12 09:40:59 | 显示全部楼层
int sd=BizData.save(printTable, "po_print", insertRange, deleteRange, updateRange, readOnly, notNull, dataModel, fnModel);的返回值sd是什么呢
技术支持qq 1282807026。(远程支持专用)
回复 支持 反对

使用道具 举报

19

主题

85

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
 楼主| 发表于 2013-10-12 11:10:03 | 显示全部楼层
什么都不是,就是执行SQL记录数,没用,我想知道BizData.save()方法 table里面是不是有什么属性需要注意的,要不执行不了
回复 支持 反对

使用道具 举报

2

主题

812

帖子

951

积分

高级会员

Rank: 4

积分
951
QQ
发表于 2013-10-12 11:33:15 | 显示全部楼层
interzym 发表于 2013-10-12 11:10
什么都不是,就是执行SQL记录数,没用,我想知道BizData.save()方法 table里面是不是有什么属性需要注意 ...

我知道那是执行SQL记录数,返回0是吧,你断点看下你printTable的内容吧,他执行失败也没返回信息给你吗
技术支持qq 1282807026。(远程支持专用)
回复 支持 反对

使用道具 举报

19

主题

85

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
 楼主| 发表于 2013-10-12 11:43:10 | 显示全部楼层
define=null,我看了一下我new的table 这个没有
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35949
发表于 2013-10-12 13:26:07 | 显示全部楼层
new的table中没有数据吗?可以跟一下代码看看添加数据走的那段代码是否正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

19

主题

85

帖子

277

积分

中级会员

Rank: 3Rank: 3

积分
277
QQ
 楼主| 发表于 2013-10-12 14:04:03 | 显示全部楼层
这是我new的table的 metadata


<CMetaData keyColumnName=null
  --> columnNames: [version, pro_name, style_no, color_name, size_remark, size_code, components1, components2, components3, components4, check_person, season, level_code, option_code1, option_code2, option_code3, option_code4, option_code5, option_code6, option_leble1, option_leble2, option_leble3, option_leble4, option_leble5, option_leble6, barcode, price, print_num, level_remark, inner_code, fsourceid, po_print]
  --> ColumnMetaDatas:
      <CMetaData name=version, type=Integer, index=0, define=null, store=false>
      <CMetaData name=pro_name, type=String, index=1, define=null, store=false>
      <CMetaData name=style_no, type=String, index=2, define=null, store=false>
      <CMetaData name=color_name, type=String, index=3, define=null, store=false>
      <CMetaData name=size_remark, type=String, index=4, define=null, store=false>
      <CMetaData name=size_code, type=String, index=5, define=null, store=false>
      <CMetaData name=components1, type=String, index=6, define=null, store=false>
      <CMetaData name=components2, type=String, index=7, define=null, store=false>
      <CMetaData name=components3, type=String, index=8, define=null, store=false>
      <CMetaData name=components4, type=String, index=9, define=null, store=false>
      <CMetaData name=check_person, type=String, index=10, define=null, store=false>
      <CMetaData name=season, type=String, index=11, define=null, store=false>
      <CMetaData name=level_code, type=String, index=12, define=null, store=false>
      <CMetaData name=option_code1, type=String, index=13, define=null, store=false>
      <CMetaData name=option_code2, type=String, index=14, define=null, store=false>
      <CMetaData name=option_code3, type=String, index=15, define=null, store=false>
      <CMetaData name=option_code4, type=String, index=16, define=null, store=false>
      <CMetaData name=option_code5, type=String, index=17, define=null, store=false>
      <CMetaData name=option_code6, type=String, index=18, define=null, store=false>
      <CMetaData name=option_leble1, type=String, index=19, define=null, store=false>
      <CMetaData name=option_leble2, type=String, index=20, define=null, store=false>
      <CMetaData name=option_leble3, type=String, index=21, define=null, store=false>
      <CMetaData name=option_leble4, type=String, index=22, define=null, store=false>
      <CMetaData name=option_leble5, type=String, index=23, define=null, store=false>
      <CMetaData name=option_leble6, type=String, index=24, define=null, store=false>
      <CMetaData name=barcode, type=String, index=25, define=null, store=false>
      <CMetaData name=price, type=String, index=26, define=null, store=false>
      <CMetaData name=print_num, type=Integer, index=27, define=null, store=false>
      <CMetaData name=level_remark, type=String, index=28, define=null, store=false>
      <CMetaData name=inner_code, type=String, index=29, define=null, store=false>
      <CMetaData name=fsourceid, type=String, index=30, define=null, store=false>
      <CMetaData name=po_print, type=String, index=31, define=null, store=false>

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 08:49 , Processed in 0.066460 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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