Java参数不足
importjava.sql.*;publicclassJdbcText2{publicstaticvoidmain(Stringargs[]){try{//加载驱动程序...
import java.sql.*;
public class JdbcText2
{
public static void main(String args[])
{
try
{
//加载驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//打开数据库连接,aaa为数据源名称
Connection con=DriverManager.getConnection("jdbc:odbc:aaa","","");
//提交查询
PreparedStatement ps=con.prepareStatement("select * from jj where dal>?");
ps.setString(1,"2000");
ResultSet rs=ps.executeQuery();
//查看结果
System.out.println("empno\tempname\tjob\thiredate\tdal");
while(rs.next())
{ String empbh=rs.getString(1);
String empno=rs.getString(2);
String empname=rs.getString(3);
String job=rs.getString(4);
String hiredate=rs.getString(5);
String dal=rs.getString(6);
System.out.println(empbh+"\t"+empno+"\t"+empname+"\t"+job+"\t"+hiredate+"\t"+dal);
}
//关闭ResultSet对象
rs.close();
//关闭Statement对象
ps.close();
//关闭Connection对象
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
可以编译完成 但是出现以下运行结果
java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 参数不足,期
待是 2。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3149)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedState
ment.java:216)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQuery(JdbcOdbcPrepared
Statement.java:91)
at JdbcText2.main(JdbcText2.java:17)
D:\java\14>javac JdbcText2.java
JdbcText2.java:14: 找不到符号
符号: 方法 preparedStatement(java.lang.String)
位置: 接口 java.sql.Connection
PreparedStatement ps=con.preparedStatement("select * from
jj where dal=?");
^
1 错误
D:\java\14>javac JdbcText2.java
D:\java\14>java JdbcText2
java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 参数不足,期
待是 2。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3149)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedState
ment.java:216)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQuery(JdbcOdbcPrepared
Statement.java:91)
at JdbcText2.main(JdbcText2.java:17) 展开
public class JdbcText2
{
public static void main(String args[])
{
try
{
//加载驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//打开数据库连接,aaa为数据源名称
Connection con=DriverManager.getConnection("jdbc:odbc:aaa","","");
//提交查询
PreparedStatement ps=con.prepareStatement("select * from jj where dal>?");
ps.setString(1,"2000");
ResultSet rs=ps.executeQuery();
//查看结果
System.out.println("empno\tempname\tjob\thiredate\tdal");
while(rs.next())
{ String empbh=rs.getString(1);
String empno=rs.getString(2);
String empname=rs.getString(3);
String job=rs.getString(4);
String hiredate=rs.getString(5);
String dal=rs.getString(6);
System.out.println(empbh+"\t"+empno+"\t"+empname+"\t"+job+"\t"+hiredate+"\t"+dal);
}
//关闭ResultSet对象
rs.close();
//关闭Statement对象
ps.close();
//关闭Connection对象
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
可以编译完成 但是出现以下运行结果
java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 参数不足,期
待是 2。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3149)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedState
ment.java:216)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQuery(JdbcOdbcPrepared
Statement.java:91)
at JdbcText2.main(JdbcText2.java:17)
D:\java\14>javac JdbcText2.java
JdbcText2.java:14: 找不到符号
符号: 方法 preparedStatement(java.lang.String)
位置: 接口 java.sql.Connection
PreparedStatement ps=con.preparedStatement("select * from
jj where dal=?");
^
1 错误
D:\java\14>javac JdbcText2.java
D:\java\14>java JdbcText2
java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序] 参数不足,期
待是 2。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3149)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedState
ment.java:216)
at sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQuery(JdbcOdbcPrepared
Statement.java:91)
at JdbcText2.main(JdbcText2.java:17) 展开
3个回答
展开全部
我的jdbc是这么写的。。。你看看
package Test;
import java.sql.*;
public class test1 {
public static void main(String[] args){
Connection con = null;
try{
//1.注册驱动
String driverName=
"com.mysql.jdbc.Driver";
Class.forName(driverName);
//2.连接数据库
String url =
"jdbc:mysql://127.0.0.1:3306/test";
String userName="root";
String pwd="1234";
con = DriverManager.getConnection(
url,userName,pwd);
System.out.println("con->"+con);
}catch(Exception e){
e.printStackTrace();
}finally{
//关闭连接
try{
if(con!=null) con.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
}
package Test;
import java.sql.*;
public class test1 {
public static void main(String[] args){
Connection con = null;
try{
//1.注册驱动
String driverName=
"com.mysql.jdbc.Driver";
Class.forName(driverName);
//2.连接数据库
String url =
"jdbc:mysql://127.0.0.1:3306/test";
String userName="root";
String pwd="1234";
con = DriverManager.getConnection(
url,userName,pwd);
System.out.println("con->"+con);
}catch(Exception e){
e.printStackTrace();
}finally{
//关闭连接
try{
if(con!=null) con.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
}
}
展开全部
同意一楼说法,检查检查参数个数,参数基数值可能是从零开始呢?!用数据库定义中的列名最好。
另外你的系统 DSN 里设置好数据源名为 aaa 的数据库了吗?
另外你的系统 DSN 里设置好数据源名为 aaa 的数据库了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是SQL语句的问题,,你检查下有没有该列
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询