当前位置:首页 » 编程语言 » sql无效的列索引
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql无效的列索引

发布时间: 2023-02-19 12:44:00

A. java连接oracle数据库java.sql.SQLException: 无效的列索引问题

这和用什么用户无关,只要能连上数据库、并且使用的用户对该表有插入权限,就没问题。现在出现的“无效的列索引的异常”,是指在语句pstmt.setString(2,str2);中,列索引2是无效的,因为sql语句中只有一个问号。PreparedStatement 对象中的
setString方法的第一个参数是列索引,这个参数的取值范围是和sql语句中的问号数量对应的,sql语句中有n个问号,setString方法的第一个参数就应该从1到n,如果不在这个范围之内,就会出列索引无效的异常。

B. nested exception is java.sql.SQLException: 无效的列索引

你的Sql语句中。insert()这里面定义的操作列个数是9个。而values()里面实际传参数量是8个。传参数量不匹配。就造成了"无效列索引"的提示。
你可以检查一下。values参数中,process_begin_time列值前应该还缺少一个参数

C. java.sql.SQLException: 无效的列索引

sql语句的问题吧
这句

select dwmc,sum(unit) unitSum,sum(spds) spdsSum 应该是有问题的应该是
select dwmc,sum(unit),unitSum,sum(spds),spdsSum吧。

D. JAVA 调用存储过程报错 java.sql.SQLException: 无效的列索引

游标参数在哪一位登记的就在哪一位取,
call.registerOutParameter(4, oracle.jdbc.OracleTypes.CURSOR); //在第4个登记
ResultSet rs = (ResultSet) call.getObject(4); //在第4个取

E. 无效的列索引 是什么原因

StringBuffer sql=new StringBuffer("select * from example where name=?");
你这句的sql意思是按照名字查询example表,这是没有问题的
但是你看你下面的ps.setxxx语句语句却是要安装name、aga、sex这三种条件查询,所以当你ps.setInt(count,age)的时候ps找不到参数,导致无效索引,你可以把sql语句试图修改为以下情况看是否可以

StringBuffer sql=new StringBuffer("select * from example where name=? and age = ? and sex = ? ");
你在其他的两个分支中也加入else把

if(sex!=null){
这个分支里面count加了两次,最后那个可以去除掉

F. Oracle模糊查询出现无效的列索引

在前台或者后台拼接sql串的时候,使用模糊查询的时候,有时候会遇上无效的列索引报错,比如说sql语句如下:

出现这种情况有几种可能:

G. java.sql.SQLException: 无效的列索引

String sql = "insert into student1 (name,age) values (name=?,age=?)";--此处就指定了两个?
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(2, name);--这个地方和
ps.setInt(3, age);--这个地方就错了哦
ps.execute();
应该改成:
ps.setString(1,name);--这个地方和
ps.setInt(2, age);--这个地方就错了哦

H. java.sql.SQLException: 无效的列索引

String sql2="insert into caselocus(id,pmid,caseno,flowtache,status,begindate,enddate) values(?,?,?,?,?,?,?)";
改成
String sql2="insert into caselocus(pmid,caseno,flowtache,status,begindate,enddate) values(?,?,?,?,?,?)";
//pstmt.setInt(1, i); 这句去掉

这里id如果是自动增长的标识字段,那它是不能insert赋值的!

I. java连接oracle数据库java.sql.SQLException:无效的列索引问题

java.sql.SQLException: 无效的列索引

无效的列索引

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:207)

atoracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:5328)

atoracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:5320)

at untitled5.addreader1.validID(addreader1.java:128)

at untitled5.addreader1.jButton1_actionPerformed(addreader1.java:97)

at untitled5.addreader1_jButton1_actionAdapter.actionPerformed(addreader1.java:175)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

代码:String driverName = "oracle.jdbc.OracleDriver";

Driver driver = (Driver) Class.forName(driverName).newInstance();

//连接数据库

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.setString(4,str4);

ResultSet res = pstmt.executeQuery();