import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ca {
public static void main(String args[]) throws ClassNotFoundException,SQLException{
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String Driver="oracle.jdbc.driver.OracleDriver";
String sql="";
int i = 0;
try{
Class.forName(Driver);
}catch(Exception e){
try {
throw new Exception("加载不起");
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
System.out.println("0");
Connection conn=DriverManager.getConnection(url,"scott","tiger");
System.out.println("1");
Statement stmt=conn.createStatement();
System.out.println("2");
sql="select password from maijia where name =" + "'wgh'";
System.out.println("3");
ResultSet rs=stmt.executeQuery(sql);
System.out.println("4");
while(rs.next()){
System.out.println(rs.getString(1));}
String str="111";
if(str.equals(rs.getString(1))){
i=1;
}
System.out.println(i);
rs.close();
stmt.close();
conn.close();
}
}
为什么会提示“无效的列索引“,求高手给个具体的解决方案。。。
在连接数据库的时候出现无效的列索引
因为你的记录集只有一条记录,函数rs.getString(1)每调用用一次,就会向下滚动一行,当你在if语句再次调用,当然没有记录了。应该先调用 pass = rs.getString(1);将结果宝训到临时变量中,然后用临时变量做if判断,就可以了。
无效的列索引
1. 列名错误:可能您尝试访问的列名不存在于数据表中,或者列名有拼写错误。2. 索引位置错误:您可能指定了一个不存在的列索引位置。例如,一个只有5列的数据表,您尝试访问第6列,就会收到“无效的列索引”的错误提示。3. 数据结构变更:如果您的代码之前正常运行,但后来报错,可能是因为...
无效的列索引 是什么原因
通过调整SQL语句和参数设置,可以确保每个查询条件都有对应的参数位置,从而避免无效列索引的错误。务必确保你的SQL语句与实际操作的数据库列和数据匹配无误。
java jdbc查询数据库 无效的列索引
like后面写错了 应该是双百分号'%201301%'
java连接oracle数据库java.sql.SQLException: 无效的列索引问题
这和用什么用户无关,只要能连上数据库、并且使用的用户对该表有插入权限,就没问题。现在出现的“无效的列索引的异常”,是指在语句pstmt.setString(2,str2);中,列索引2是无效的,因为sql语句中只有一个问号。PreparedStatement 对象中的 setString方法的第一个参数是列索引,这个参数的取值范围是和...
java.sql.SQLException: 无效的列索引? 救命啊。help
“无效的列索引”其实是个低级的错误,原因无非几个:1、sql串的?号数目和提供的变量数目不一致:例如:jdbcTemplate.update(sql, new Object[] {newState,oldState});如果sql里面有1个?号,Object[]送了2个,就会报错。2、sql串里的?号书写不正确 英文?和中文?有时难以区分。3、sql串的?号用...
java连接oracle数据库java.sql.SQLException:无效的列索引问题?
\/\/连接数据库 Connection con = DriverManager.getConnection("jdbc:oracle:thin:@LONG:1521:orcl", "sysman", "tongfang");PreparedStatement pstmt = con.prepareStatement(" insert into reader values(?)");pstmt.setString(1, str1);pstmt.setString(2,str2);pstmt.setString(3,str3);pstmt....
JDBC 数据库操作“无效的列索引”,该怎么处理
rs = db.executeQuery("select from agent where ADRESS LIKE '%?%'",s );被单引号框定的,无法识别为参数。改为:rs = db.executeQuery("select from agent where ADRESS LIKE ?",s);字符串s注意要自带
无效的列索引 是什么原因
的时候ps找不到参数,导致无效索引,你可以把sql语句试图修改为以下情况看是否可以 StringBuffer sql=new StringBuffer("select * from example where name=? and age = ? and sex = ? ");你在其他的两个分支中也加入else把 if(sex!=null){ 这个分支里面count加了两次,最后那个可以去除掉 ...
这样mybatis的SQL语句有什么问题吗? 报错。 无效的列索引
语句没问题,报错,无效的列索引 是因为字段名字错误 或者数据库中没有这个字段 导致的 仔细检查下吧