插入数据的问题

时间:2011-04-09 18:56:25

标签: java ms-access

当我保存数据时,它会给出以下错误:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in date in query expression '#444434'

插入数据时我将此日期视为4.4.4434

我的代码是:

int len, len1, len2;  
int regno = Integer.parseInt(cbregn.getSelectedItem().toString());
if (cbregn.getSelectedItem().toString().equals("")) {
   JOptionPane.showMessageDialog(null," SELECT THE REGISTRATION NO ");
   return;
}

String dt = tdate.getText();
dt = dt.replace(".", "");
Integer.parseInt(dt);
if (dt.equals("")) {
    JOptionPane.showMessageDialog(null," ENTER THE DATE ");
    return;
}

//string number = "4.5.5255";
//number = number.replace(".", "");
//Integer.parseInt(number );
// int dt = Integer.parseInt(tdate.getText());
// if (tdate.getText().equals(""))
//     JOptionPane.showMessageDialog(null," ENTER THE DATE ");
// String date=tdate.getText();
// if (dt.equals("")) {
//     JOptionPane.showMessageDialog(null," ENTER THE DATE ");
//     return;
// }


String nm = cbnm.getSelectedItem().toString();
if (nm.equals("")) {
    JOptionPane.showMessageDialog(null," ENTER THE NAME ");
    return;
}

String place=tfplace.getText();
if (place.equals("")) {
    JOptionPane.showMessageDialog(null," ENTER THE NATIVE PLACE ");
    return;
}

String kul = tfkul.getText();
if (kul.equals("")) {
    JOptionPane.showMessageDialog(null," ENTER THE NAME OF KUL ");
    return;
}

String gotra = tfgotra.getText();
if(gotra.equals("")) {
    JOptionPane.showMessageDialog(null," ENTER THE GOTRA NAME ");
    return;
}

String kswami = tfswami.getText();
if (kswami.equals("")) {
    JOptionPane.showMessageDialog(null," ENTER THE KULSWAMI NAME ");
    return;
}

String raddr = taraddr.getText();
if (raddr.equals("")) {
    JOptionPane.showMessageDialog(null," ENTER THE RESIDENTIAL ADDRESS ");
    return;
}

    int pincode=Integer.parseInt(tfpcd.getText());
    len1 = tfpcd.getText().length();
    if(len1!=7) {
    JOptionPane.showMessageDialog(null,"Enter The 7 Digit Pin Code","Error",JOptionPane.ERROR_MESSAGE);
    return;
    }

    int stdcd=Integer.parseInt(tfstdcode.getText());
    if(tfstdcode.getText().equals("")){
    JOptionPane.showMessageDialog(null," ENTER THE STD CODE ");
    return;
    }


    int tele=Integer.parseInt(tftele.getText());
    len2 = tftele.getText().length();
    if(len2!=7){
    JOptionPane.showMessageDialog(null,"Enter The 7 Digit Telephone No","Error",JOptionPane.ERROR_MESSAGE);
    return;
    }


    int mno=(int) Long.parseLong(tfmno.getText());
    len = tfmno.getText().length();
    if(len!=10) {
    JOptionPane.showMessageDialog(null,"Enter The 10 Digit Mobile No","Error",JOptionPane.ERROR_MESSAGE);
    return;
    }


    String email=tfemail.getText();
    if(email.equals(""))
    JOptionPane.showMessageDialog(null," ENTER THE EMAIL");

    if(email.equals("")) {
        tfemail.setText("-");

    } else // check if it is a valid email-id
    {
    int ind = email.indexOf("@");
        if (ind != -1) { } else {
            JOptionPane.showMessageDialog(null,"Invalid Email Id","Error",JOptionPane.ERROR_MESSAGE);
            tfemail.setText("");
            tfemail.requestFocus();
            return;
        }
    }
    String website=tfweb.getText();
    if(website.equals(""))
    JOptionPane.showMessageDialog(null," ENTER THE WEBSITE ");

    if(website.equals("")) {
        tfweb.setText("-");
    }
    else // check if it is a valid email-id
    {
    int ind = website.indexOf("www");
    if (ind != -1) { } else {
    JOptionPane.showMessageDialog(null,"Invalid Website","Error",JOptionPane.ERROR_MESSAGE);
    tfweb.setText("");
    tfweb.requestFocus();
    return;
   }
}

    String education=tfedu.getText();
    if(education.equals("")){
    JOptionPane.showMessageDialog(null," ENTER THE EDUCATION DETAILS");
    return;
   }

    String branch=tfbrch.getText();
    if(branch.equals("")){
    JOptionPane.showMessageDialog(null," ENTER THE BRANCH NAME ");
    return;
   }

String bdt = tfbdt.getText();
bdt = bdt.replace(".", "");
Integer.parseInt(bdt);
//      int bdt=Integer.parseInt(tfbdt.getText());
//      if(tfbdt.getText().equals(""))
//      String brthdt=tfbdt.getText();
  if(bdt.equals("")){
  JOptionPane.showMessageDialog(null," ENTER THE BIRTH DATE");
  return;
  }


    String bloodgrp=(String)cbbldgrp.getSelectedItem();
    if(bloodgrp.equals("")){
    JOptionPane.showMessageDialog(null," SELECT THE BLOODGROUP");
    return;
   }

    try
    {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection con=DriverManager.getConnection("jdbc:odbc:wanisamajDB");
       Statement stmt=con.createStatement();

        String qry= "INSERT INTO Registration1(RegistrationNo,SeniorPerson,NativePlace,Kul,Gotra,KulSwami,ResidensialAddress,PinCode,STDcode,TelephoneNo,MobileNo,Email,Website,Education,Branch,BloodGroup,[Date],BirthDate) VALUES('"+regno+"','"+nm+"','"+place+"','"+kul+"','"+gotra+"','"+kswami+"','"+raddr+"','"+pincode+"','"+stdcd+"','"+tele+"','"+mno+"','"+email+"','"+website+"','"+education+"','"+branch+"','"+bloodgrp+"',#"+dt+"#,#"+bdt+"#)";
        stmt.executeUpdate(qry);
//            PreparedStatement pstmt = con.prepareStatement ("INSERT INTO Registration1 (RegistrationNo,Date,SeniorPerson,NativePlace,Kul,Gotra,KulSwami,ResidensialAddress,PinCode,STDcode,TelephoneNo,MobileNo,Email,Website,Education,Branch,BirthDate,BloodGroup) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
//            pstmt.setInt(1, regno);
//            pstmt.setString(2, dt);
//            pstmt.setString(3, nm);
//            pstmt.setString(4, place);
//            pstmt.setString(5, kul);
//            pstmt.setString(6, gotra);
//            pstmt.setString(7, kswami);
//            pstmt.setString(8, raddr);
//            pstmt.setInt(9, pincode);
//            pstmt.setInt(10, stdcd);
//            pstmt.setInt(11, tele);
//            pstmt.setInt(12, mno);
//            pstmt.setString(13, email);
//            pstmt.setString(14, website);
//            pstmt.setString(15, education);
//            pstmt.setString(16, branch);
//            pstmt.setString(17, bdt);
//            pstmt.setString(18, bloodgrp);
//            pstmt.executeUpdate();
        JOptionPane.showMessageDialog(null,"RECORD IS SAVED SUCCESSFULLY ");
        con.close();

    }
    catch(SQLException eM) {
        System.out.println(" "+eM);
        JOptionPane.showMessageDialog(null,"RECORD IS NOT SAVED");
    } 
    catch(Exception et)
    {
        System.out.println("error:"+et.getMessage());
    }

1 个答案:

答案 0 :(得分:0)

是什么让你认为插入日期的正确格式是“#444434#”?我对访问的odbc连接一无所知,但这不是我见过的sql日期语法。你应该:

  1. 使用jdbc date escape syntax
  2. 使用PreparedStatement的日期/时间特定方法之一
  3. 或找出访问odbc连接的正确日期语法