2017-11-20 20 views
0

데이터베이스에 단어 목록을 채우는 프로그램을 작성했습니다. 문제는, 코드를 실행하려고 할 때마다 "스레드의 예외"메인 "java.sql.SQLException : near". ": 구문 오류"가 발생합니다. 도움을 청합니다.java.sql.SQLException : near ".": 구문 오류

이 코드

import java.sql.Connection; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.util.Random; 
import javax.swing.JOptionPane; 
import javax.swing.JTextField; 

입니다 그리고 여기 소스 :

public Account() { 
      super("Create Account"); 
      initComponents(); 
      conn=javaconnect.ConnecrDb(); 
      RandomAcc(); 
      RandomMICR(); 
      RandomPIN(); 
     } 

    public void RandomAcc(){ 
     Random ra=new Random(); 
     jTextField1.setText(""+ra.nextInt(10000+1)); 
    } 
    public void RandomMICR(){ 
     Random ra=new Random(); 
     jTextField2.setText(""+ra.nextInt(1000+1)); 
    } 
    public void RandomPIN(){ 
     Random ra=new Random(); 
     jTextField3.setText(""+ra.nextInt(1000+1)); 
    } 
    public void Bal(){ 
     String sql="insert into Balances(Name,Acc,MICR_No,Balance) values(?,?,?,?)"; 
     try{ 
     pst=conn.prepareStatement(sql); 
     pst.setString(1, jTextField5.getText()); 
     pst.setString(2, jTextField1.getText()); 
     pst.setString(3, jTextField2.getText()); 
     pst.setString(4, jTextField10.getText()); 
     pst.execute(); 
    }catch(Exception e){`enter code here` 
     JOptionPane.showMessageDialog(null, e); 
    } 
} 

String sql="insert into Account(Acc,Name,DOB,Pin,Acc_Type,Nationality,Caste,MICR_No,Gender,Mob,Address,Sec.Q,Sec.A,Balance) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 
    try{ 
     pst=conn.prepareStatement(sql); 
     pst.setString(1, jTextField1.getText()); 
     pst.setString(2, jTextField5.getText()); 
     pst.setString(3,((JTextField)jDateChooser1.getDateEditor().getUiComponent()).getText()); 
     pst.setString(4, jTextField3.getText()); 
     pst.setString(5, (String) jComboBox1.getSelectedItem()); 
     pst.setString(6, (String) jComboBox2.getSelectedItem()); 
     pst.setString(7, jTextField6.getText()); 
     pst.setString(8, jTextField2.getText()); 

     jRadioButton1.setActionCommand("Male"); 
     jRadioButton2.setActionCommand("Female"); 
     pst.setString(9, buttonGroup1.getSelection().getActionCommand()); 

     pst.setString(10, jTextField7.getText()); 
     pst.setString(11, jTextField4.getText()); 
     pst.setString(12, (String) jComboBox3.getSelectedItem()); 
     pst.setString(13, jTextField9.getText()); 
     pst.setString(14, jTextField10.getText()); 
     pst.execute(); 
     JOptionPane.showMessageDialog(null, "Congrtz\n Account has been Created"); 
     Bal(); 
    }catch(Exception e){ 
     JOptionPane.showMessageDialog(null, e); 
    } 
}         

감사

+1

전체 오류 스택을 붙여 넣으십시오. 귀하의 성명서에 "Sec.Q, Sec.A"란 무엇입니까? – Sh4m

+0

Sec.Q, Sec.A 의미 보안 질문 및 보안 답변 – Never

+1

데이터베이스에 점으로 된 열 이름이없는 것으로 확신합니다. 테이블 정의를 확인하여 열 이름이 실제로 무엇인지 확인하고 INSERT 문에서 수정하십시오. –

답변

0
String sql="insert into Account(Acc,Name,DOB,Pin,Acc_Type,Nationality,Caste,MICR_No,Gender,Mob,Address,Sec.Q,Sec.A,Balance) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 

Sec.Q,Sec.A 열 이름 있습니까? 허용되지 않습니다.

Database name restrictions