查看: 910|回复: 6
|
java和database的大问题(附coding)
[复制链接]
|
|
各位大大,我现在有个java class,不过我有要insert 资料进database,不过就是进不到咯。。。我把coding 放进来,可以帮我解决吗??谢谢。。。。。
JAVA CLASS
else if(e.getSource() == badd)
{
String date = day + "-" + month + "-" + year;
if(tfsn.getText().trim().equals("" /* || cbday.getSelectedItem().equals("Day" || cbmonth.getSelectedItem().equals("Month" ||
cbyear.getSelectedItem().equals("Year" || tfage.getText().trim().equals("" || cbgender.getSelectedItem().equals("Gender" ||
tfic.getText().trim().equals("" || tfnationality.getText().trim().equals("" || tfrace.getText().trim().equals("" || tfcontact.getText().trim().equals("" ||
tfaddress.getText().trim().equals("" || cbposition.getSelectedItem().equals(" osition" || tfqualification.getText().trim().equals("" ||
passwordSTR.equals("" || passwordSTR1.equals("" */)
{
JOptionPane.showMessageDialog(null, "Must Fill In All Information" ;
}
else if(!pfpassword.getText().trim().equals(cpassword.getText().trim()))
{
JOptionPane.showMessageDialog(null, " assword and confirm password not same" ;
}
else
{
try
{
String strSQL="insert into Staff(StaffName,DOB,Age,Gender,IC Number/Passport,Nationality,Race,Contact Number,Salary,Address,Position,Qualification,Password) values('"+
tfsn.getText().trim()+"','"+
//date+"','"+
tfage.getText().trim()+"','"+
cbgender.getSelectedItem()+"','"+
tfic.getText().trim()+"','"+
tfnationality.getText().trim()+"','"+
tfrace.getText().trim()+"','"+
tfcontact.getText().trim()+"','"+
tfsalary.getText().trim()+"','"+
tfaddress.getText().trim()+"','"+
cbposition.getSelectedItem()+"','"+
tfqualification.getText().trim()+"','"+
pfpassword.getText().trim()+"')";
if(db.updateSql(strSQL))
{
JOptionPane.showMessageDialog(null,"New cd is successfully added" ;
President p = new President();
this.dispose();
}
else
{
JOptionPane.showMessageDialog(null,"System encounter error when adding new cd" ;
}
db.closeConnection();
}
catch(Exception ex)
{
System.out.println(ex.toString());
}
}
}
DATABASE CLASS
import java.sql.*;
public class Database {
Connection con;
ResultSet rs;
Statement stmt;
public Database()
{
try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
con = DriverManager.getConnection("jdbc dbc:driver={Microsoft Access Driver (*.mdb)};DBQ=rainbow kindergarten1.mdb" ;
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch ( ClassNotFoundException cex ) {
System.err.println("Error in loading JDBC/ODBC driver." );
cex.printStackTrace();
System.exit(1); // terminate program
}
catch(SQLException sqlex)
{
System.out.println(sqlex.toString());
}
}
public ResultSet getResult(String strSQL)
{
try {
rs=stmt.executeQuery(strSQL);
return rs;
}
catch(SQLException sqlex)
{
System.out.println(sqlex.toString());
return null;
}
}
public boolean updateSql(String strSQL)
{
try {
stmt.executeUpdate(strSQL);
con.commit();
return true;
}
catch(SQLException sqlex)
{
System.out.println(sqlex.toString());
return false;
}
}
public void closeConnection()
{
try
{
rs.close();
stmt.close();
con.close();
}
catch(SQLException sqlex)
{
System.out.println(sqlex.toString());
}
}
}
出现的error 是这样:
at Staff.actionPerformed(Staff.java:393)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
大家一定要帮我哦。。。谢谢先。。。。。 |
|
|
|
|
|
|
|

楼主 |
发表于 30-6-2007 01:13 PM
|
显示全部楼层
我现在已经可以从database里面拿information 了。。。。
不过就是不可以update和insert data咯。。。。这是我update data时,出现的error message
at Staff.actionPerformed(Staff.java:393)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
现在就真的就是靠大家的帮忙了咯。。。。谢谢哦。。。。。 |
|
|
|
|
|
|
|
发表于 1-7-2007 08:36 AM
|
显示全部楼层
你的error好像不完整。看不到是什么exception,只是看到stacktrace。可以贴完整的上来吗? |
|
|
|
|
|
|
|

楼主 |
发表于 1-7-2007 01:38 PM
|
显示全部楼层
可是我这是用blue j做的哦。。。。它给我的error就是这些咯。。。。怎么办????
我用command prompt去跑就出现这个error:
java.sql.SQLException : [Microsoft][ODBC Microsoft Accress Driver] Syntax error in INSERT INTO statement.
java.lang.NullPointerException
就是这个咯。。。。大家帮帮我哦。。。。谢谢。。。。 |
|
|
|
|
|
|
|

楼主 |
发表于 1-7-2007 02:48 PM
|
显示全部楼层
这是blue J的exception:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Integer
at Staff.actionPerformed(Staff.java:402)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Integer
at Staff.actionPerformed(Staff.java:402)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.Integer
at Staff.actionPerformed(Staff.java:415)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110) |
|
|
|
|
|
|
|
发表于 1-7-2007 02:51 PM
|
显示全部楼层
检查一下你的Update statement,在updateSQL之前System.out.println(strSQL)一下看看对不对(我没用过Access,所以不肯定Syntax对不对)。
至于那个NullPointerException,那就要看一下stacktrace了,改成catch(Exception ex){ex.printStackTrace();}看看exception是从那里来的。 |
|
|
|
|
|
|
|

楼主 |
发表于 2-7-2007 12:18 AM
|
显示全部楼层
我照苦瓜汤,你的话去做了,不过还是不能够咯。。。还有那些SQL 也是没有问题咯。。。所以我现在脑子里都是问号问号问号。。。。哈哈哈。。。。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|