在做网页,在my eclipse 中出现java.sql.SQLException: No value specified for parameter 1要怎么处理呢 在执行插入语句的时候出现异常:java.sql.SQLExc...

作者&投稿:席黎 (若有异议请与网页底部的电邮联系)

报错为:SQL第一个条件参数没有值传入。

说明参数传递的有问题或者没传递,就会报这个错误。

举例:

String sql = "select * from users where id=? and passwd=?";

rs = dealDateBase,getRS(sql, user,getUsername(),user,getUserPas());

备注:传递的参数个数必须与赋值的个数类型一致才可以,否则就会报错的。

拓展资料

第一步:新建web工程后,把mysql的连接驱动程序放在lib目录里。

第二步:编写数据库连接程序:import java,sql,Connection;

import java,sql,DriverManager;

public class DbConnection {

@SuppressWarnings("finally")

public Connection getConnection()

{

String driver ="com,mysql,jdbc,Driver";

String url="jdbc:mysql://localhost:3306/newssystem";

String user="root";

String password="0211";

Connection conn=null;

//加载驱动程序以连接数据库

try {

Class,forName( driver );

conn = DriverManager,getConnection(

url, user, password );

}

catch ( ClassNotFoundException cnfex ) {

System,err,println("数据库连接异常!!"+cnfex,getMessage());

}finally

{

return conn;

}

}

}

第三步:编写数据库操作dao类,就是对数据的增删查改。再给你举一个例子吧,这是之前做的一个小项目里,直接复制过来,你参考参考。

public class NewsDao {

Connection con;

// 添加数据

public void insertNews(News news) {

String sql = "insert into news values(0,?,?,?,now(),?,?)";

try {

DbConnection db = new DbConnection();

con = db,getConnection();

PreparedStatement ps = con,prepareStatement(sql);

ps,setString(1, news,getTitle());

ps,setString(2, news,getContent());

ps,setString(3, news,getAuthor());

//ps,setString(4, news,getDate());

ps,setString(4, news,getSort());

ps,setString(5, news,getImage());

ps,executeUpdate();

} catch (Exception e) {

System,err,println("数据库有误:" + e,getMessage());

} finally {

try {

if (con != null)

con,close();

} catch (Exception e2) {

System,err,println("数据库关闭有误:" + e2,getMessage());

}

}

}

}

第四步:在相应的操作类中调用dao类;

这是按照平时的项目实施来的,如果你只是想测试连接数据库,可以这几部综合在一起。不过最后还是按照严格的分层来吧,养成一个好习惯!



报错为:SQL第一个条件参数没有值传入。
说明参数传递的有问题或者没传递,就会报这个错误。

举例:
String sql = "select * from users where id=? and passwd=?";
rs = dealDateBase.getRS(sql, user.getUsername(),user.getUserPas());
备注:传递的参数个数必须与赋值的个数类型一致才可以,否则就会报错的。

elect * from news where typeid=? limit" + (pageid-1)*pagesize+","+pagesize;里面那个问号,你都没有把参数传进去,要通过pst设置进去.

sql语句中有?,没给它set值,怎么查找

我用的MyEclipse连接数据库出现错误java.sql.SQLException: No value specified for parameter 3~

你是不是传参数了 但是sql语句没有接受
比如
应该写成
select * from table a where a.c=?
而你写成
select * from table a where a.c='006'
但是你还传参数了 参数不知道放进什么地方就抱着个错误
java.sql.SQLException: No value specified for parameter 3

这不已经很明显了,第11个参数没有值。。。