2013-04-04 38 views

回答

1

所以基本上你想在光標移動到存儲,從表中,並v_overtime_worked另一個變量,無關與表中的數據?

您收到了什麼錯誤?

我肯定知道的是,這是工作......所以基本上你可以把另一個變量光標:

declare 
c_Curs SYS_REFCURSOR; 
v_overtime_worked VARCHAR2(120) := '1000'; 
v_book_title VARCHAR2(255) := ''; 
v_xxx   VARCHAR2(120); 

BEGIN 

OPEN c_Curs FOR SELECT book_title, v_overtime_worked FROM books; 

LOOP 

FETCH c_Curs INTO v_book_title, v_xxx; 
EXIT WHEN c_Curs%NOTFOUND OR c_Curs IS NULL; 

    DBMS_OUTPUT.PUT_LINE(v_book_title || v_xxx); 

end loop; 
close c_Curs; 

END; 

至於你的Java問題,我怕我不知道answer..and我需要做的研究:)

也許你需要的東西是這樣的:

@Override 
       public void execute(Connection con) throws SQLException { 
        CallableStatement call = con.prepareCall(ProcedureCalls.GET_ALL_BOOKS); 
        call.registerOutParameter(1, OracleTypes.CURSOR); 
        call.execute(); 
        ResultSet rs = (ResultSet) call.getObject(1); 
        if(rs!=null){ 
         while (rs.next()) { 
          Book b = new Book();          
          b.setBookId(rs.getLong("book_id")); 
          b.setBookTitle(rs.getString("title")); 
          b.setBookYear(rs.getInt("book_year")); 
          b.setBookAuthor(rs.getString("author")); 
          book_list.add(b); 
         } 
         if(rs!=null) rs.close(); 
         if(call!= null) call.close(); 
        } 
       } 
+0

昏暗,公司員工的DataTable =新裝getEmployees(OT).Tables(0) – 2013-04-04 12:50:37

+0

對不起,我的問題其實與調用重新f_cursor,我把它加載到一個數據集中 'Dim Employees As DataTable = New GetEmployees.Tables(0)' 然後我檢查新變量,但是它聲稱它不是所選表格的一部分。 'Employees.DataSet.Tables(0).Rows(0).Item(「v_overtime_worked」)' – 2013-04-04 12:59:14

+0

我不明白那是什麼代碼,你只是寫的,和最初的問題...編輯之間的關係:好了,現在我看到我在VB我的問題 – Teshte 2013-04-04 13:00:10