con = myutil.utilDbc();
String sql = "insert into dept values(?,?,?)";
pre = con.prepareStatement(sql);
pre.setString(1,no);
pre.setString(2,name);
pre.setString(3,loc);
int c = pre.executeUpdate();
在java中写sql语句时 第一个?传入的值 是 字符串类型为什么也可以?
别说在java中这样写可以
你就是直接拼接一个sql,这样写
insert into dept values('1','name','loc')也是没问题的
到了数据库中,只要这个字符串能够转成int,就会自动转了
sql是弱类型的语言,是解释性的,不提前编译,随时执行,各种类型之间自动隐式转换
但是如果你字符串里放的不是个数字,比如放个'a',那就要报错了
数据正确会自动转成相应的类型