2017-10-17 1 views
1

SQL을 사용하여 테이블에 값을 삽입하려고합니다. 사용자는 자동 번호 (ID) 인 기본 키를 제외하고 값을 입력합니다. Netbeans을 통해 MS-Access의 항목에 기본 키를 자동으로 할당

if (lstCarD.getSelectedIndex() == -1) { 
     obj.updateTable("insert into tblSCars values('" + txtBrand.getText() + "','" + txtModel.getText() + "'," + Integer.parseInt(txtSpeed.getText()) + "," + Integer.parseInt(txtWeight.getText()) + "," + Double.parseDouble(txtAcc.getText()) + "," + Integer.parseInt(txtPower.getText()) + ") "); 
    } else { 
      obj.updateTable("UPDATE tblSCars SET tblSCars.Brand ='"+ txtBrand.getText()+"','"+ txtModel.getText() + "'," + Integer.parseInt(txtSpeed.getText()) + "," + Integer.parseInt(txtWeight.getText()) + "," + Double.parseDouble(txtAcc.getText()) + "," + Integer.parseInt(txtPower.getText()) +"WHERE RunnerId="+txtBrand.getText()); 
    } 
    pnlStart.setSelectedIndex(2); 
    lstSuperCars.clear(); 
    getCars();  

는 나에게 다음과 같은 오류를 제공합니다 : (필드 'ID'를 입력하도록 허용 또는 MS-액세스 테이블에서 필드를 제거하면 나는 경우 작동이 될 해결할 수 있습니다

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.3.1 row column count mismatch 

이 작업을 수행).

Netbeans에서 사용자가 입력하거나 제거하지 않고도 기본 키 필드 'ID'를 자동으로 지정하는 방법을 알아 내려고합니다.

tblSCars - 입력하려는 표. 클래스의 다른 곳에는 'ID'필드가 없습니다.

미리 감사드립니다.

답변

1

오류는 이해하기 쉽습니다. 삽입 할 필드를 지정하지 않고 삽입/업데이트 쿼리에서 지정한 필드의 양이 테이블의 총 필드 수와 같지 않습니다. .

당신은 다음과 같은 방법으로 필드를 지정할 수 있습니다

insert into tblSCars(Field1, Field2 ... FieldN) VALUES(Value1, Value2 ... ValueN) 
UPDATE tblSCars SET Field1 = Value1, Field2 = Value2, etc. 
에게
관련 문제