请求大佬支援!!!!!! JDBC No value specified for parameter 2

图片说明图片说明

package com.sxt.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.util.Date;

/**
 * 测试PreparedStatement的基本语法
 * */
public class Demo3 {
    public static void main(String[] args) {
        //加载驱动类
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");//com.mysql.cj.jdbc.Driver   mysql6.0以上

        //建立连接(连接对象内部起始包含了Socket对象,是一个远程的连接,比较耗时!这是Connection对象管理的一个要点!)
        //真正开发中,为了提高效率,都会使用连接池来管理连接对象!
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_book?serverTimezone=GMT","root","109867");
            System.out.println(conn);

            String sql = "insert into employees(id,last_name) values (?,?)";//?占位符
            PreparedStatement ps = conn.prepareStatement(sql);
//          ps.setString(1, "qwq");//这里的参数索引是从1开始计算

            ps.setString(1, "sa");
//          ps.setObject(1,new Date());

            System.out.println("插入一行记录");
            ps.execute();  

        } catch (Exception e) {
            e.printStackTrace();
        } 
    }
}

3个回答

没有给字段last_name 赋值,ps.setString(1, "sa");改成ps.setString(1, "1");,即改成如下试试

 ps.setString(1, "1");
 ps.setString(2, “myname”); 

占位符两个,你只设置了一个的值

  String sql = "insert into employees(id,last_name) values (?,?)";//?占位符

这行代码中包含2个?,而你只给了1个值

  ps.setString(1, "sa");

这句话的意思是给第一个?赋值为String型的sa
给Preparestatement中的占位符赋值与数据库设计时的主键无关,如果有需要的话可以去掉id只插入name 这样就不会报错了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

5
jdbc 驱动连接oracle数据库报错Unknown host specified
11
springboot +mybatis,配置了数据源,启动还是报错,百度,千篇一律的答案都不是我要的
2
在终端执行webpack调用webpack.config.js 时,报错
4
【Spring】@Async("参数")的参数是什么意思
1
c#调用windows服务器中mysql报错 The user specified as a definer (”@’%') does not exist
2
如何解决ImportError: DLL load failed: The specified procedure could not be found
4
springmvc写的注册登陆系统,注册可以,登陆的时候报NO DataSource specified
2
java.sql.SQLException: No value specified for parameter 5
1
安装python,make命令后出现*** No targets specified and no makefile found. Stop.。
1
使用spring data jpa出现的问题
1
有没有懂LoRaServer的。
2
Fabric第一个应用中,如何改写fabcar的智能合约,对数据的某一个属性进行查询获取所有满足条件的数据。
0
为什么nuxt.js无法安装node-sass?
2
新建的maven项目无法用tomcat运行望解答,感谢!
1
swift 初学者 小括号这种写法代表什么。 let blackView: UIView = { code }()
3
mysql_upgrade: [ERROR] 1449: 怎么解决?
0
计算最小化的最大的风险,怎么使用C语言的程序的代码的编写的过程加以实现的呢
0
数字三角形的构造的一个问题,怎么使用C语言的程序的代码编写的过程加以正确实现的
0
冷却系统的管道的数量的计算问题,怎么采用C语言的程序的编写的代码的方式来实现的?
0
平面上的几何图形如何计算交集,采用的C语言的程序的设计的编写出来的程序的代码怎么做