2013-04-30 89 views
-1

我已經做出了一個基於員工管理系統的項目,點擊保存按鈕時,字段的值加入日期(doj)和個人名稱(p_name)沒有以正確的順序存儲,值顯示爲 - > (doj)顯示(p_name)和(p_name)的信息,顯示(doj)的信息。存儲在ms訪問表中的值沒有以正確的順序存儲

 // Save Personal Information of Employee Master 



        if(ae.getSource()==pi_save) 
       { 
        try 
        { 
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 

          Connection con=DriverManager.getConnection 
          ("jdbc:odbc:Driver={Microsoft Access Driver 
          (*.mdb, *.accdb)};DBQ=C:\\Program 
          Files\\Java\\jdk1.7.0\\bin\\payroll.mdb;","",""); 

          PreparedStatement psm=con.prepareStatement 

          ("insert into pinfo(eid,p_name,fname,doj,dob,desg,pre_add1, 
          pre_add2,pre_state,pre_pincode,pre_phno,per_add1, 
          per_add2,per_state,per_pincode,per_phno,mobno,sex,dept) 
          values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); 

          String psmd1=eid.getText(); 
          String psmd3=name.getText(); 
          String psmd2=doj.getText(); 

          String psmd4=fname.getText(); 
          String psmd5=dob.getText(); 
          String psmd6=desg.getText(); 
          String psmd7=pre_add1.getText(); 
          String psmd8=pre_add2.getText(); 
          String psmd9=pre_state.getText(); 
          int psmd10=Integer.parseInt(pre_pincode.getText()); 
          int psmd11=Integer.parseInt(pre_phno.getText()); 
          String psmd12=per_add1.getText(); 
          String psmd13=per_add2.getText(); 
          String psmd14=per_state.getText(); 

          int psmd15=Integer.parseInt(per_pincode.getText()); 
          int psmd16=Integer.parseInt(per_phno.getText()); 
          int psmd17=Integer.parseInt(mobno.getText()); 


          String psmd18=jsex; 
          String psmd19=jdept; 




          psm.setString(1,psmd1); 
          psm.setString(3,psmd3); 
          psm.setString(2,psmd2); 

          psm.setString(4,psmd4); 
          psm.setString(5,psmd5); 
          psm.setString(6,psmd6); 
          psm.setString(7,psmd7); 
          psm.setString(8,psmd8); 

          psm.setString(9,psmd9); 
          psm.setInt(10,psmd10); 
          psm.setInt(11,psmd11); 
          psm.setString(12,psmd12); 
          psm.setString(13,psmd13); 
          psm.setString(14,psmd14); 
          psm.setInt(15,psmd15); 
          psm.setInt(16,psmd16); 
          psm.setInt(17,psmd17); 
          psm.setString(18,psmd18); 
          psm.setString(19,psmd19); 

          int a=psm.executeUpdate(); 


          System.out.println(a+" Rows updated......."); 

          eid.setText(""); 
          doj.setText(""); 
          name.setText(""); 
          fname.setText(""); 
          dob.setText(""); 
          desg.setText(""); 
          pre_add1.setText(""); 
          pre_add2.setText(""); 
          pre_state.setText(""); 
          pre_pincode.setText(""); 
          pre_phno.setText(""); 
          per_add1.setText(""); 
          per_add2.setText(""); 
          per_state.setText(""); 
          per_pincode.setText(""); 
          per_phno.setText(""); 
          mobno.setText(""); 


          status.setText(""); 


        }catch(Exception e){ System.out.println(e);} 

}

回答

1

不要緊,在什麼樣的順序存儲數據。數據庫系統以他們認爲最有效的方式存儲數據。

一般來說所有工具公開的方式(通過order byclause說)

0

是人們的共同絆腳石得到有序的方式將數據開始使用針對ACE /射流(訪問)數據庫是參數化查詢必須將參數添加到準備好的語句中,它們與SQL語句中出現的順序完全相同。 ACE/Jet OLEDB確實如此,所以如果ACE/Jet ODBC(您正在使用)也是如此,我一點也不會感到驚訝。

因此,請更改您發出psm.setString語句的順序,使其與INSERT INTO語句中相應字段的顯示順序完全匹配。 ACE/Jet驅動忽略參數名稱;這是您將它們添加到重要參數集合的順序。

+0

我改變了這些陳述的順序,但根本不工作 – Make 2013-05-06 05:24:20