データベースにBENEFICTOR
という名前のテーブルがあります。私はこのテーブルに挿入しようとすると、それは私に次のエラー与える:整数型の列には、char型の値を格納できません。
columns of type integer cannot hold values of type char and i am typing a true values in the textfields (T1,T2,...).
private void Add_PeopleActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int bid=Integer.parseInt(T1.getText());
int fid=Integer.parseInt(T2.getText());
int idnum=Integer.parseInt(T5.getText());
int age = Integer.parseInt(T14.getText());
try{
String url="jdbc:derby://localhost:1527/spc";
String username="issam";
String password="issam";
Connection con=DriverManager.getConnection(url,username,password);
Statement stmt=con.createStatement();
String Query="INSERT INTO BENEFICTOR (BID,FID,FULL_NAME,GENDER,AGE,IDNUM,STATUS,ORIGINAL_AREA,RECENT_AREA,EVAL,PHONE_NUMBER1,PHONE_NUMBER2,SITUATION,VISIT) VALUES ("+bid+" , "+fid+" , '"+T3.getText().toString()+"' , '"+T4.getSelectedItem().toString()+"' , "+age+" , "+idnum+" , '"+T6.getSelectedItem().toString()+"' , '"+T7.getText().toString()+"' , '"+T8.getText().toString()+"' , '"+T9.getSelectedItem().toString()+"' , '"+T10.getText().toString()+"' , '"+T11.getText().toString()+"' , '"+T12.getText().toString()+"' , '"+T13.getText().toString()+"')";
stmt.executeUpdate(Query);
JOptionPane.showMessageDialog(null,"A Person Added To Database");
T1.setText(null);
T2.setText(null);
T3.setText(null);
T4.setSelectedItem(0);
T5.setText(null);
T6.setSelectedItem(0);
T7.setText(null);
T8.setText(null);
T9.setSelectedItem(0);
T10.setText(null);
T11.setText(null);
T12.setSelected(true);
T13.setSelected(true);
T14.setText(null);
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null, ex.toString());
}
}
を誰もが私はこれをどのように修正することができます私に言うことができますか?ありがとうございました。ここで
列フィールドのタイプです:
BID:INTEGER,FID:INTEGER,FULL_NAME:VARCHAR,GENDER:VARCHAR,AGE:INTEGER,IDNUM:INTEGER,STATUS:VARCHAR,ORIFINAL_AREA:VARCHAR,RECENT_AREA:VARCHAR,EVAL:VARCHAR,PHONE_NUMBER1:INTEGER,PHONE_NUMBER2:INTEGER,SITUATION:VARCHAR,VISIT:VARCHAR
Status
、Gendre
、eval
は、すべてのコンボボックスです。あなたは、Cがあなたのchar
値であるInteger.parseInt(String.valueOf(c))
のようにそれらを解析する必要がjava.lang.Integer
型の変数にchar
値を格納しようとしている場合visit
とSituation
は、チェックボックス
あなたはBenefictorテーブルモデルを共有することはできますか?また、PreparedStatementとsetInt関数を使ってパラメータを追加することもできますか? http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html –
.toString()を呼び出してデータを挿入する列のタイプを確認してください。つまり、T6のようにデータを挿入することですStatusカラムの.getSelectedItem()。toString()は、実際にはchar型かどうかを確認してください。.toString()を使用してデータを挿入する他のカラムの型をチェックしてください。 – sawyinwaimon
あなたはここに推測ゲームをするよう人々に求めています。最小、完全、および検証可能な例を提供してください:http://stackoverflow.com/help/mcve –