Netbeans 7.0,使用复合主键输入值

时间:2012-03-29 00:03:05

标签: java netbeans master-detail composite-primary-key

我正在开发一个使用MySQL数据库Java GUI的项目。

这是我的SQL脚本 CREATE TABLE服务( ResvID INT UNSIGNED NOT NULL, ServID INT UNSIGNED DEFAULT 0 NOT NULL, ServUsedDate DATETIME非空 ,PayStat VARCHAR(6)DEFAULT非付费NOT NULL, ServRecBy VARCHAR(7)NOT NULL, PayRecBy VARCHAR(7), Quantity SMALLINT DEFAULT 1 NOT NULL,  PRIMARY KEY(ResvIDServIDServUsedDate)); 改变表服务 添加约束外键(ResvId)引用预留(ResvID); 改变表服务 添加约束外键(ResvId)引用预留(ResvID);


我使用Netbeans 7.0创建了实体类,并创建了4个类:

服务 保留 ServiceTaken ServiceTakenPK

但是我无法在表中输入值,它给了我一个错误,我试图在主键中输入空值。

我在Netbeans论坛中发现了这个bug,http://netbeans.org/bugzilla/show_bug.cgi?id=105084

因此我将以下方法添加到ServiceTaken类

public int getResvID() {
    return takenservicePK.resvID;
}

public int getServID() {
    return takenservicePK.servID;
}

public Date getServUsedDate() {
    return takenservicePK.servUsedDate;

在表格中插入新条目后,我收到此错误:

错误代码:1048 调用:INSERT INTO takeservice(PayRecBy,ServRecBy,Quantity,PayStat,ServUsedDate,ResvID,ServID)VALUES(?,?,?,?,?,?,?)     bind => [ddd,ddd,0,ddd,null,null,null]


我能做些什么来解决这个问题?请帮帮我,我的时间不多了= /

1 个答案:

答案 0 :(得分:0)

请尝试使用       System.out.println(yourqueryexecution stmt); 然后检查语句是否可以在DB中执行; 查找是否将所有值发送到db; 希望这有效..