又是数据库问题
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所指向的数据库中,但是系统出错 不知道怎么改了,请高手指教
[解决办法]
sql语句写错了
strSQL+= " ' "+str[pp]+ " ' "+ " '1 ' "+ ") ";--> strSQL+= " ' "+str[pp]+ " ', "+ " '1 ' "+ ") ";
[解决办法]
Dbase.insertData(Dbase.java:52)
Dbase.java52行是啥?执行之前把sql打出来看看
