當前位置:首頁 » 編程語言 » 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();