import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
class Dbase
{
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
public Dbase()
{
String strurl="jdbc:odbc:MS Access Database2";
String user="MS Access Database2";
String password=" ";
try{
//指明你加载的mdb文件的位置
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动系统自带的
con = DriverManager.getConnection(strurl,user,password); //获得连接
stmt=con.createStatement(); //创建Statement语句对象,用于执行各种的SQL数据库处理。
System.out.println("连接成功");
}catch(Exception ex){System.out.println("出问题了?");}//输出错误信息。
try{
if(rs!=null)
{
rs.close();
}
if(stmt!=null)
{
stmt.close();
}
if(con!=null)
{
con.close();
}
}catch(SQLException sqle){System.out.println("失败");}
}
public void insertData(String[] str,int i)
{
System.out.println("已经传近来了");
System.out.println("i="+i);
int we = i;
String strSQL = "insert into xinci(词,个数)values(";
for(int pp=0;pp<we;pp++)
{
//System.out.println("已");
System.out.println(str[pp]);
strSQL+="'"+str[pp]+"'"+"'1'"+")";
try
{
stmt.executeQuery(strSQL);
rs.next();
} catch (SQLException ex)
{
ex.printStackTrace();
}
} }
public static void main(String[] args)
{
new Dbase();
}
错误:
java.sql.SQLException: Invalid handle
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7130)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
at s.Dbase.insertData(Dbase.java:52)
at s.Tablel.actionPerformed(Tablel.java:126)
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)
不知道如何改了,我想把传过来的数组插入到MS Access Database2所指向的数据库中,但是系统出错 不知道怎么改了,请高手指教
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
class Dbase
{
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
public Dbase()
{
String strurl="jdbc:odbc:MS Access Database2";
String user="MS Access Database2";
String password=" ";
try{
//指明你加载的mdb文件的位置
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动系统自带的
con = DriverManager.getConnection(strurl,user,password); //获得连接
stmt=con.createStatement(); //创建Statement语句对象,用于执行各种的SQL数据库处理。
System.out.println("连接成功");
}catch(Exception ex){System.out.println("出问题了?");}//输出错误信息。
try{
if(rs!=null)
{
rs.close();
}
if(stmt!=null)
{
stmt.close();
}
if(con!=null)
{
con.close();
}
}catch(SQLException sqle){System.out.println("失败");}
}
public void insertData(String[] str,int i)
{
System.out.println("已经传近来了");
System.out.println("i="+i);
int we = i;
String strSQL = "insert into xinci(词,个数)values(";
for(int pp=0;pp<we;pp++)
{
//System.out.println("已");
System.out.println(str[pp]);
strSQL+="'"+str[pp]+"'"+"'1'"+")";
try
{
stmt.executeQuery(strSQL);
rs.next();
} catch (SQLException ex)
{
ex.printStackTrace();
}
} }
public static void main(String[] args)
{
new Dbase();
}
错误:
java.sql.SQLException: Invalid handle
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7130)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
at s.Dbase.insertData(Dbase.java:52)
at s.Tablel.actionPerformed(Tablel.java:126)
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)
不知道如何改了,我想把传过来的数组插入到MS Access Database2所指向的数据库中,但是系统出错 不知道怎么改了,请高手指教
strSQL+="'"+str[pp]+"'"+"'1'"+")";-->strSQL+="'"+str[pp]+"',"+"'1'"+")";
Dbase.java52行是啥?执行之前把sql打出来看看