2012-03-29 4 views
0

私はMySQLデータベースのJava GUIを使ってプロジェクトを進めています。Netbeans 7.0、コンポジットプライマリキーの値を入力

この私のSQLスクリプト が表takenservice( ResvID INT UNSIGNED NOT NULLと、 ServID INT UNSIGNED DEFAULT 0 NOT NULL、 ServUsedDate DATETIME、NOT NULL、PayStat VARCHAR(6)DEFAULT未払いNOT NULL、 ServRecBy VARCHARを作成することです(7)NOT NULL、 PayRecBy VARCHAR(7)、 Quantity SMALLINTのDEFAULT NULL NOT 1、 PRIMARY KEY(ResvIDServIDServUsedDate))。 テーブルtakenserviceを変更する 制約の外部キー(ResvId)を追加すると、予約(ResvID)が参照されます。 テーブルtakenserviceを変更する 制約の外部キー(ResvId)を追加すると、予約(ResvID)が参照されます。


私は、NetBeans 7.0でエンティティクラスを作成し、4クラスを作成しました:

サービス 予約 ServiceTaken ServiceTakenPK

が、私は、テーブルに値を入力してカント、それは私にそのエラーを与えます私は主キーとしてnull値を入力しようとしています。

実際にNetbeansフォーラムのバグは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 takenserviceを bind => [ddd、ddd、0、ddd、null、null、null]値が0に設定されていない場合、値は0に設定されています(PayRecBy、ServRecBy、Quantity、PayStat、ServUsedDate、ResvID、ServID)


これを修正するには何ができますか?これで助けてください私は時間がなくなっています=/

答えて

0

System.out.println(yourqueryexecution stmt); 次に、その文がDBで実行可能かどうかを確認します。 すべての値をdbに送信するかどうかを調べます。 これはうまくいきます。

+0

このステートメントはdbで実行できます。物事は、主キーの値が送信されていないです。 – Sasha

関連する問題