开发者社区> 问答> 正文

这个异常信息怎么处理?

Cannot add or update a child row: a foreign key constraint fails (xiaonei/photo1, CONSTRAINT FKC50C883FA1694277 FOREIGN KEY (albumId) REFERENCES album (id))
public ActionForward oneAlbumUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
//System.out.println("oneAlbumUI...");
//这里,我们要完成把图片上传到服务器,并保存记录到Photo对象
//先考虑用户上传一张图片的情况
AlbumForm albumForm = (AlbumForm) form;
Admin admin = (Admin) request.getSession().getAttribute("admin");
//Users loginUser = (Users) request.getSession().getAttribute("loginuser");
FormFile photo1 = albumForm.getPhoto1();
    if(!"".equals(photo1.getFileName())){
        //说明用户上传了第一张图片
        //把图片上传上去
        //再把信息保存到数据库


        String newFileName = MyTools.uploadPhoto(request, photo1, admin.getId()+"", albumForm.getId());
        Photo1 myPhoto1 = new Photo1();
        myPhoto1.setIndate(new Date());
        myPhoto1.setAlbum((Album) albumService1.findById(Album.class, Integer.valueOf(albumForm.getId()))); //该图片属于哪个相册
        myPhoto1.setPhoto(newFileName);

        //这句话就是把信息保存到数据库
        albumService1.save(myPhoto1);

}
}
我在上一页面上调用Action保存了Album的信息,然后跳转到一下个页面调用Action保存Photo信息,但是报错,这是为什么?

展开
收起
小旋风柴进 2016-03-18 09:09:34 2549 0
1 条回答
写回答
取消 提交回答
  • myPhoto1.setAlbum((Album) albumService1.findById(Album.class, Integer.valueOf(albumForm.getId()))); //该图片属于哪个相册
    从这段代码可知你的表有主子表关系,从异常信息来看,应该是图片还没有上传成功,导致albumForm.getId()获取不到,更新子表photo主外键引用约束错误。
    先在页面稍微控制一下,只有当图片上传成功后才能跳转到一下个页面调用Action保存Photo信息.

    2019-07-17 19:05:49
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
面向失败设计 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载