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();
}
}
}
请求大佬支援!!!!!! JDBC No value specified for parameter 2
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- Json-Huang 2019-06-25 12:48关注
没有给字段last_name 赋值,ps.setString(1, "sa");改成ps.setString(1, "1");,即改成如下试试
ps.setString(1, "1"); ps.setString(2, “myname”);
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 3