下标的区别:
void setString(int parameterInde,String x)throws SQLException
将指定参数设置为给定 Java String 值。在将此值发送给数据库时,驱动程序将它转换成一个 SQL VARCHAR 或 LONGVARCHAR 值(取决于该参数相对于驱动程序在 VARCHAR 值上的限制的大小)。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值抛出:
SQLException - 如果 parameterIndex 不对应于 SQL 语句中的参数标记;如果发生数据库访问错误,或者在关闭的 PreparedStatement 上调用此方法
所以,是从1开始。
其他区别
setPatameter针对所有类型,setString针对字符串类型,后者效率比前者快;
setPatameter 可以替代 setString ,setString不能替代setPatameter
setPatameter 的参数是Object ,比如Date也行 , setString的参数只能是String