首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的构造函数没有很好的定义?

我的构造函数没有很好的定义?
EN

Stack Overflow用户
提问于 2018-05-30 10:47:03
回答 1查看 53关注 0票数 1

我有一个名为相册的表,它有4列,CodeA是char类型的主键。

然后,我的第二个表是Collabo,它有一个名为CodeA的列,它是一个始终为char类型的外键。

这是一个预览,我尝试在Jframe中显示CodeA,但是我从表DaoCollabo中得到了错误消息。

找不到适合相册(字符串)构造函数的构造函数Album.Album()不适用(实际和形式参数列表长度不同)构造函数Album.Album(String、String、Chanteur、Date)不适用(实际和形式参数列表长度不同)

你觉得我的班级专辑和Collabo怎么样?

类专辑

代码语言:javascript
复制
public class Album {
    private String codeA;
    private String titreA;
    private Chanteur chantAlb;
    private Date dateApp; //


    public Album() {
    }

    public Album(String codeA, String titreA, Chanteur chantAlb, Date dateApp) {
        this.codeA = codeA;
        this.titreA = titreA;
        this.chantAlb = chantAlb;
        this.dateApp = dateApp;
    }

    public String getCodeA() {
        return codeA;
    }

    public void setCodeA(String codeA) {
        this.codeA = codeA;
    }

    public String getTitreA() {
        return titreA;
    }

    public void setTitreA(String titreA) {
        this.titreA = titreA;
    }

    public Chanteur getChantAlb() {
        return chantAlb;
    }

    public void setChantAlb(Chanteur chantAlb) {
        this.chantAlb = chantAlb;
    }

    public Date getDateApp() {
        return dateApp;
    }

    public void setDateApp(Date dateApp) {
        this.dateApp = dateApp;
    }

   public String getDateAppBE() {
        String tmp;

        if (this.dateApp == null)
          tmp = "";
        else
          {
          SimpleDateFormat dateParser = new SimpleDateFormat("dd/MM/yyyy");
          tmp = dateParser.format(this.dateApp);
          }
        return tmp;
    }

    public void setDateAppBE(String dateApp) {
        SimpleDateFormat dateParser = new SimpleDateFormat("dd/MM/yyyy");
        try {
            this.dateApp = dateParser.parse(dateApp);
        } catch (ParseException ex) {
            Logger.getLogger(Album.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public String getDateAppSQL() {
        String tmp;

        if (this.dateApp == null)
          tmp = "";
        else
          {
          SimpleDateFormat dateParser = new SimpleDateFormat("yyyy-MM-dd");
          tmp = "'" + dateParser.format(this.dateApp) + "'";
          }
        return tmp;
    }

    public String getDateAppUS() {
        String tmp;

        if (this.dateApp == null)
          tmp = "";
        else
          {
          tmp = this.dateApp.toString();
          }
        return tmp;
    }  

My Class Collabo

代码语言:javascript
复制
public class Collabo {
    private Album appAlb;

    public Collabo() {
    }
    public Collabo(Album appAlb) {
        this.appAlb = appAlb;
    }
    public Album getAppAlb() {
        return appAlb;
    }
    public void setAppAlb(Album appAlb) {
        this.appAlb = appAlb;
    }

DAOCollabo

代码语言:javascript
复制
public ArrayList <Collabo> selectCollabos()
    {
        ArrayList <Collabo> myList = new ArrayList();


        String req = "Select A.CodeA from album A, collabo C where A.CodeA = C.CodeA order by 1 ";
        ResultSet resu = ConnexionMySQL.getInstance().selectQuery (req);
        try {
            while (resu.next())
            {  
                //creation de l'objet Collabo
                myList.add (new Collabo(resu.getString(1), 
                             new Album (resu.getString(2))));
             }
        }
        catch (SQLException e)
        {
            System.out.println(e.toString());
            System.exit(-1);
        }
        return myList;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-30 11:04:31

代码语言:javascript
复制
new Album (resu.getString(2))

需要接受单个String参数的构造函数:

代码语言:javascript
复制
public Album(String codeA) {
    this.codeA = codeA;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50602711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档