我创建了一个简单的应用程序,该程序将数据库值与文本字段值进行比较,但是当我执行项目时,它会为我提供以下内容Exception
:
java.sql.SQLException
:[Microsoft] [ODBC驱动程序管理器]无效的光标状态
这是我正在使用的代码:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
String dataSource ="testDb";
String U="jdbc:odbc:"+dataSource;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(U,"","");
PreparedStatement s=con.prepareStatement("Select * from student");
ResultSet s1=s.executeQuery();
String textField;
textField=jTextField1.getText();
String database =s1.getString(1);
if(textField.equals(database)) {
System.out.println("ok");
} else {
System.out.println("Not ok");
}
} catch(Exception ex) {
System.out.println("THE EXCEPTION IS"+ex);
}
}
这可能是什么原因Exception
?
当你这样做s.executeQuery()
,的初始位置ResultSet
是
之前 的第一行。
您必须将rs.next()
其前进到第一行。
将您的ResultSet
处理if ( s1.next() ) {}
封闭在一个块中
问题内容: 当我在日食中运行时,它运行良好。但是,通过命令提示符,它将引发异常。如何克服这个? 这是我的代码: 问题答案: 我不确定为什么它不起作用。可能的猜测是64位Windows 7和32位MySQL Connector ODBC之间的兼容性问题。使用的JDBC- MySQL连接器。现在可以了。
我需要将升级到。 Microsoft网站有以下信息: sqljdbc41.jar ;类库提供了对JDBC4.0 API的支持。它包括JDBC4.0驱动程序的所有特性以及JDBC4.0 API方法。不支持JDBC 4.1(将引发异常“SQLFeaturenotSupportedException”)。 因此,已经在java中运行的JDBC API将正常工作。 但是,Microsoft ODBC驱动程
问题内容: 我目前正在为大学的一个班级做项目。我正在学习有关连接和操作数据库的信息,我们正在使用Microsoft .accdb文件。 这是我到目前为止所拥有的。 当寻找“ sun.jdbc.odbc.JdbcOdbcDriver”时,我得到以下输出。 似乎很容易解决。看来我想念司机或类似的东西。但是,我很难找到解决方法。JDK随附驱动程序吗?我需要单独下载吗?是否取决于我的操作系统?(Mac O
2:在odbcDriverConnect(con,...)中:ODBC连接失败 如果在64位R(R console或Rstudio)中运行,将返回以下错误: 警告消息:1:在odbcDriverConnect(con,...)中:[RODBC]错误:状态IM003,代码160,由于系统错误126:找不到指定的模块,无法加载消息指定的驱动程序。(Microsoft Access驱动程序(*.mdb,
问题内容: 我连接到DB2数据库并进行以下查询。我不明白为什么会收到错误:“无效的光标状态”。 谢谢。 问题答案: 在Statement接口的JDBC Javadocs上找到了这个:“该对象用于执行静态SQL语句并返回其产生的结果。 默认情况下,每个Statement对象只能同时打开一个ResultSet对象。 因此,如果一个ResultSet对象的读取与另一个的读取交错,则每个都必须由不同的St
问题内容: 我有一些从ODBC驱动程序(基于DSN字符串(带有用户名和密码)选择驱动程序)读取的.NET代码,该驱动程序从表中读取多个字段,其中一个字段是DateTime字段。该代码在SQL Server数据库/ ODBC驱动程序中的使用时间为100%,在大多数情况下,与MS Access数据库一起使用。但是,有时我会在特定行上得到“第2列(DateTimeColumn)上无效的日期时间格式”异常