質問するログイン新規登録

質問編集履歴

3

エラーの追加

2015/11/16 09:27

投稿

edoooooo
edoooooo

スコア478

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
- snsを作っていて、consoleでorg.h2.jdbc.JdbcSQLException: 列番号が一致しませんのエラーが出ます。
1
+ snsを作っていて、consoleでorg.h2.jdbc.JdbcSQLException: 列番号が一致しませんのエラーや、サーブレット jsp のServlet.service()例外を投げました というエラーが出ます。
2
- エラーがconsoleにだけ出るのですが、出るときの作業としては、コメントを入力して、いたときです。
2
+ エラーがconsoleにだけ出るのですが、出るときの作業としては、コメントを入力して、つぶやいたときです。
3
3
 
4
4
 
5
5
 

2

追加

2015/11/16 09:27

投稿

edoooooo
edoooooo

スコア478

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,10 @@
1
1
  snsを作っていて、consoleでorg.h2.jdbc.JdbcSQLException: 列番号が一致しませんのエラーが出ます。
2
2
  エラーがconsoleにだけ出るのですが、出るときの作業としては、コメントを入力して、呟いたときです。
3
- 足りないコードがありましたら、どうぞご指摘の方、よろしくお願いします。
4
3
 
5
- コードは、ログインuser名と、コメントのtextが格納される部分のコードです。
6
4
 
5
+
6
+ ログインuser名と、コメントのtextが格納される部分のコードです。
7
+
7
8
  <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
8
9
  <%@ page import="model.User,model.Mutter,java.util.List" %>
9
10
  <%
@@ -42,6 +43,7 @@
42
43
 
43
44
 
44
45
 
46
+
45
47
  データベース接続のコードです。
46
48
  package dao;
47
49
 
@@ -139,4 +141,17 @@
139
141
  }
140
142
  return true;
141
143
  }
142
- }
144
+ }
145
+
146
+
147
+
148
+
149
+ データベースを作りINSERT したコードです。
150
+
151
+ CREATE TABLE MUTTER ( ID INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(100) NOT NULL, TEXT VARCHAR(255) NOT NULL );
152
+
153
+
154
+ INSERT INTO MUTTER (NAME ,TEXT)VALUES ('灘','今日は休みだ');
155
+ INSERT INTO MUTTER (NAME ,TEXT) VALUES('綾部','いいなー');
156
+
157
+ よろしくお願いします。

1

情報の追加

2015/11/16 09:17

投稿

edoooooo
edoooooo

スコア478

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,9 @@
1
1
  snsを作っていて、consoleでorg.h2.jdbc.JdbcSQLException: 列番号が一致しませんのエラーが出ます。
2
2
  エラーがconsoleにだけ出るのですが、出るときの作業としては、コメントを入力して、呟いたときです。
3
- コードは、ログインuser名と、コメントのtextが格納される部分のコードを記載します。
4
3
  足りないコードがありましたら、どうぞご指摘の方、よろしくお願いします。
5
4
 
5
+ コードは、ログインuser名と、コメントのtextが格納される部分のコードです。
6
+
6
7
  <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
7
8
  <%@ page import="model.User,model.Mutter,java.util.List" %>
8
9
  <%
@@ -37,4 +38,105 @@
37
38
  <p><%=mutter.getUserName() %>:<%=mutter.getText()%></p>
38
39
  <%} }%>
39
40
  </body>
40
- </html>
41
+ </html>
42
+
43
+
44
+
45
+ データベース接続のコードです。
46
+ package dao;
47
+
48
+ import java.sql.Connection;
49
+ import java.sql.DriverManager;
50
+ import java.sql.PreparedStatement;
51
+ import java.sql.ResultSet;
52
+ import java.sql.SQLException;
53
+ import java.util.ArrayList;
54
+ import java.util.List;
55
+
56
+ import model.Mutter;
57
+
58
+ public class MutterDAO{
59
+
60
+ private final String DRIVER_NAME="org.h2.Driver";
61
+ private final String JDBC_URL="jdbc:h2:file:/Users/endoutaichi/Documents/newworkspace/taichi/h2data.dat";
62
+ private final String DB_USER="sa";
63
+ private final String DB_PASS="";
64
+
65
+ public List<Mutter>findAll(){
66
+ Connection conn=null;
67
+ List<Mutter>mutterList=new ArrayList<Mutter>();
68
+ try{
69
+ Class.forName(DRIVER_NAME);
70
+ conn=DriverManager.getConnection(
71
+ JDBC_URL,DB_USER,DB_PASS);
72
+
73
+ //SELECT文の準備
74
+ String sql="SELECT ID,NAME,TEXT FROM MUTTER ORDER BY ID DESC";
75
+ PreparedStatement pStmt=conn.prepareStatement(sql);
76
+
77
+ //SELECT文を実行
78
+ ResultSet rs=pStmt.executeQuery();
79
+
80
+ //SELECT文の結果をArrayListに格納
81
+ while(rs.next()){
82
+ int id=rs.getInt("ID");
83
+ String userName=rs.getString("NAME");
84
+ String text=rs.getString("TEXT");
85
+ Mutter mutter=new Mutter(id,userName,text);
86
+ mutterList.add(mutter);
87
+ }
88
+ }catch(SQLException e){
89
+ e.printStackTrace();
90
+ return null;
91
+ }catch(ClassNotFoundException e){
92
+ e.printStackTrace();
93
+ return null;
94
+ }finally{
95
+ //データベース切断
96
+ if(conn !=null){
97
+ try{
98
+ conn.close();
99
+ }catch(SQLException e){
100
+ e.printStackTrace();
101
+ return null;
102
+ }
103
+ }
104
+ }
105
+ return mutterList;
106
+ }
107
+
108
+ public boolean create(Mutter mutter){
109
+ Connection conn=null;
110
+ try{
111
+ //データベースへ接続
112
+ conn=DriverManager.getConnection(JDBC_URL,DB_USER,DB_PASS);
113
+
114
+ //INSERT文の準備(idは自動連番なので指定しなくても良い)
115
+ String sql="INSERT INTO MUTTER(NAME,)VALUES(?,?)";
116
+ PreparedStatement pStmt=conn.prepareStatement(sql);
117
+ //INSERT文中の「?」に使用する値を設定しSQLを完成
118
+ pStmt.setString(1, mutter.getUserName());
119
+ pStmt.setString(2, mutter.getText());
120
+
121
+ //INSERT文を実行
122
+ int result=pStmt.executeUpdate();
123
+
124
+ if(result !=1){
125
+ return false;
126
+ }
127
+ }catch(SQLException e){
128
+ e.printStackTrace();
129
+ return false;
130
+ }finally{
131
+ //データベース切断
132
+ if(conn !=null){
133
+ try{
134
+ conn.close();
135
+ }catch(SQLException e){
136
+ e.printStackTrace();
137
+ }
138
+ }
139
+ }
140
+ return true;
141
+ }
142
+ }