已有101人关注
进货单,如何才能实现多行添加,然后入库
发表在Java图书答疑 2020-05-05 悬赏:10 学分 《Java项目开发实战入门》第5章 企业进销存管理系统
是否精华
版块置顶:

老师,我在写进货单的功能,目前不能实现多行添加,只能添加第二行的数据,请问我的方法有问题吗?


public static boolean insertRukuInfo(TbRukuMain ruMain) {

try {

boolean autoCommit = conn.getAutoCommit();

conn.setAutoCommit(false);

java.sql.Date date = new java.sql.Date(jhsjDate.getTime());// 创建日期对象

String maxId = Dao.getKucunMaxId(date);// 获取最大的“进货票号”

insert("insert into tb_ruku_main values('" + ruMain.getRkId()

+ "','" + ruMain.getWlh() + "','" + ruMain.getHwname() + "','"

+ ruMain.getGg() + "','"

+ ruMain.getShelf() + "','"

+ ruMain.getHwwz() + "','" + ruMain.getHums() + "','"

+ ruMain.getRkdate() + "','"

+ ruMain.getJsr()

+ "')");

Set<TbRukuDetail> rkDetails = ruMain.getTabRukuDetails();

for (Iterator<TbRukuDetail> iter = rkDetails.iterator(); iter

.hasNext();) {

TbRukuDetail details = iter.next();

//添加入库详细表记录

insert("insert into tb_ruku_detail values('" + ruMain.getRkId() + "','"

+ details.getTabkucun()+ "','"

+ details.getSl() + "','" + details.getDw() + "')");

//添加或修改库存表记录

//item.setId(details.getTabSpinfo());

//TbSpinfo spInfo = getSpInfo(item);*/

        Item item = new Item();

if (ruMain.getWlh() != null) {

TbKucun kucun = getKucun(item);

if (kucun.getWlh() == null) {

/*insert("insert into tb_kucun values('" + maxId

+ "','" + ruMain.getWlh() + "','"

+ ruMain.getHwname() 

+ "','" + details.getSl() + "','"

+ ruMain.getGg() + "','"

+ details.getDw() + "','"

+ ruMain.getShelf()

+ "','" + ruMain.getHwwz() + "','"

+ ruMain.getHums() + "')");*/

String columnName="";

String cn2="";

TbKucun column = null;

    columnName = ruMain.getWlh();// 为“商品信息”的实例赋值

    column = new TbKucun(columnName);

    String column1=  (String) column.getWlh();

ResultSet set=Dao

.query("select * from tb_kucun where wlh='" +column1+  "'");

try {

if (set.next()) {

TbKucun kucun1 = new TbKucun();

String column2 = set.getString("kcsl");

cn2=column2;

Integer sl = Integer.valueOf(cn2) + details.getSl();

update("update tb_kucun set kcsl=" + sl  + " where wlh='"

+ column1 + "'");

}

else {

insert("insert into tb_kucun values('" + maxId

+ "','" + ruMain.getWlh() + "','"

+ ruMain.getHwname() 

+ "','" + details.getSl() + "','"

+ ruMain.getGg() + "','"

+ details.getDw() + "','"

+ ruMain.getShelf()

+ "','" + ruMain.getHwwz() + "','"

+ ruMain.getHums() + "')");

}

}

catch (SQLException e1) {

e1.printStackTrace();

}


    }

    }

}

conn.commit();

conn.setAutoCommit(autoCommit);

} catch (SQLException e) {

e.printStackTrace();

return false;

}

return true;

}


2020-05-05 22:45:50编辑
分享到:
精彩评论 3
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2020-05-08
沙发

不清楚你“不能实现多行添加,只能添加第二行的数据”是什么场景,你扔了一大堆格式错乱、注释混乱,前后不搭的代码,没人能看懂。你可以尝试打印一下程序执行的sql,如果sql不对,就从给sql传值的方向去排查,为什么没有拿到正确的值。

星痕_1586756618
学分:85 LV3
2020-05-09
板凳

根号申 发表于2020-05-08 16:38

不清楚你“不能实现多行添加,只能添加第二行的数据”是什么场景,你扔了一大堆格式错乱、注释混乱,前后不搭的代码,没人能看懂。你可以尝试打印一下程序执行的sql,如果sql不对,就从给sql传值的方向去排查,为什么没有拿到正确的值。

不好意思,老师,代码复制进来的时候格式自动被改了,我尝试排查了循环语句,现在找到问题所在了,谢谢!

根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照