'java.sql.PreparedStatement' 中的 'setString(int, java.lang.String)' 无法应用于 '(java.lang.String)'
时间: 2024-10-14 15:13:53 浏览: 24
java+sql.rar_SQL java_java s_java sql_java sql 简单_java.sql.
`java.sql.PreparedStatement` 是Java用于预编译SQL语句的对象,它允许你在执行数据库操作前设置参数值,这样可以提高性能并防止SQL注入攻击。其中 `setString(int, java.lang.String)` 这个方法用于将指定索引位置的SQL参数设置为给定的字符串。
然而,如果直接尝试将一个简单的`java.lang.String` 类型的原始字符串传递给这个方法,例如 `(java.lang.String)`,会遇到问题。这是因为这个方法需要的是整数作为第一个参数,表示参数的位置(从1开始计数),而不是另一个字符串类型的参数。你应该提供一个整数值,比如参数在查询中的第几个占位符位置,然后传入相应的字符串实例,如:
```java
PreparedStatement pstmt = connection.prepareStatement("SELECT * FROM users WHERE name=?");
pstmt.setString(1, "John Doe"); // 将字符串 "John Doe" 设置到第1个参数位置
```
如果你直接传递`(java.lang.String)`这样的字符串类型表达式,编译器会报错,提示你需要一个整数作为第一个参数。因此,在使用时,确保提供的参数是正确的参数位置和对应的字符串对象。
阅读全文