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)
展开
 我来答
百度网友ae19c94
2009-08-02
知道答主
回答量:44
采纳率:0%
帮助的人:29.5万
展开全部
我的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();
}
}
}
}
卫星3D看世界
2009-08-02 · TA获得超过909个赞
知道小有建树答主
回答量:461
采纳率:66%
帮助的人:169万
展开全部
同意一楼说法,检查检查参数个数,参数基数值可能是从零开始呢?!用数据库定义中的列名最好。
另外你的系统 DSN 里设置好数据源名为 aaa 的数据库了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
h111z
2009-08-03 · 超过10用户采纳过TA的回答
知道答主
回答量:143
采纳率:0%
帮助的人:0
展开全部
应该是SQL语句的问题,,你检查下有没有该列
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式