質問編集履歴

4

質問文を修正しました。

2018/07/31 11:11

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
  // SELECT文を準備
78
78
 
79
- String sql = "insert into MASTER (NAME) values ('山')";
79
+ String sql = "insert into MASTER (NAME) values ('山')";
80
80
 
81
81
 
82
82
 

3

質問文を修正しました。

2018/07/31 11:11

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,25 @@
4
4
 
5
5
 
6
6
 
7
+ エラー内容:
8
+
7
- エラー内容:Exception in thread "main" java.sql.SQLException: 列の型が無効です。: getInt not implemented for class oracle.jdbc.driver.T4CRowidAccessor:
9
+ Exception in thread "main" java.sql.SQLException: 列の型が無効です。: getInt not implemented for class oracle.jdbc.driver.T4CRowidAccessor
10
+
11
+ at oracle.jdbc.driver.GeneratedAccessor.getInt(GeneratedAccessor.java:372)
12
+
13
+ at oracle.jdbc.driver.GeneratedStatement.getInt(GeneratedStatement.java:197)
14
+
15
+ at oracle.jdbc.driver.GeneratedScrollableResultSet.getInt(GeneratedScrollableResultSet.java:244)
16
+
17
+ at dao.SampleDAO.main(SampleDAO.java:32)
18
+
19
+
20
+
21
+ SampleDAO.java:32は、BigDecimal id = rs.getBigDecimal(1);の部分です。
22
+
23
+
24
+
25
+
8
26
 
9
27
 
10
28
 

2

コードを変更しました

2018/07/31 06:07

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,13 +4,15 @@
4
4
 
5
5
 
6
6
 
7
- エラー内容:最終行結果セット
7
+ エラー内容:Exception in thread "main" java.sql.SQLException: 列型が無効です。: getInt not implemented for class oracle.jdbc.driver.T4CRowidAccessor:
8
8
 
9
- BigDecimal id = rs.getBigDecimal(1);がエラーだといわれていますが、
10
9
 
11
- 何が悪いのかわかりません。どうしたらいいでしょうか。
12
10
 
13
11
  ```Java
12
+
13
+ package dao;
14
+
15
+
14
16
 
15
17
  package dao;
16
18
 
@@ -52,41 +54,45 @@
52
54
 
53
55
  Statement stat = conn.createStatement();
54
56
 
57
+
58
+
59
+ // SELECT文を準備
60
+
61
+ String sql = "insert into MASTER (NAME) values ('山添')";
62
+
63
+
64
+
65
+ stat.execute(sql, Statement.RETURN_GENERATED_KEYS);
66
+
67
+
68
+
69
+
70
+
55
71
  ResultSet rs = stat.getGeneratedKeys();
56
72
 
57
73
 
58
74
 
59
75
  try {
60
76
 
77
+ while(rs.next()) {
61
78
 
79
+ rs.getInt(1);
62
80
 
81
+ BigDecimal id = rs.getBigDecimal(1);
82
+
63
- // SELECT文を準備
83
+ System.out.println(id);
64
84
 
65
85
 
66
86
 
67
- String sql = "insert into MASTER (SPECIAL,NAME) values (default,'山添')";
87
+ }
68
88
 
69
89
 
70
-
71
- stat.execute(sql, Statement.RETURN_GENERATED_KEYS);
72
-
73
-
74
-
75
- rs.next();
76
-
77
- BigDecimal id = rs.getBigDecimal(1);
78
-
79
- System.out.println(id);
80
90
 
81
91
  } finally {
82
92
 
83
93
  rs.close();
84
94
 
85
-
86
-
87
95
  }
88
-
89
-
90
96
 
91
97
  }
92
98
 

1

2018/07/31 06:02

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes