int result = st.executeUpdate("insert into persondata (name, mail) VALUES ('"
+ nm_str + "','" + ml_str + "');");SQLでのレコード追加は、「INSERT INTO テーブル (フィールド名……) VALUES (値……)」というようにして実行します。テーブル名の後の()に値を設定するフィールド名をカンマでまとめ、VALUESの後の()内に保存する値をテーブル名の順番にあわせてカンマで記述します。rs = st.executeQuery("SELECT * FROM persondata where name like '%"
+ nm_str + "%'");単純に全レコードを検索するなら「SELECT * FROM テーブル名」で十分ですが、特定の条件で絞り込むときは、その後に「WHERE 条件」といった節を追加しておきます。ここでは「WHERE name like %検索テキスト%」というような形で条件を設定してあります。「like」は、いわゆる「あいまい検索」というもので、%をつけて、検索テキストの前後に他のテキストがあっても探し出せるようにできます。※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※helo.jsp修正
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="java.util.List" %>
<%@ page import="java.sql.*" %>
<%@ page import="com.google.appengine.api.rdbms.AppEngineDriver" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Sample jsp</title>
<style>
h1{
font-size: 16pt;
background: #AAFFAA;
padding: 5px;
}
table {
border: 1px solid black
}
table tr th {
background-color: #CCFFDD;
margin: 5px;
}
</style>
</head>
<body>
<h1>Sample jsp page</h1>
<p>これはサンプルで用意したページです。</p>
<%
Connection c = null;
c = DriverManager.getConnection("jdbc:google:rdbms://tuyano-gae-sample-sql:sampledata/mydb");
ResultSet rs = null;
String title ="レコード一覧";
String nm_str = request.getParameter("name");
String ml_str = request.getParameter("mail");
nm_str = nm_str == null ? "" : nm_str;
ml_str = ml_str == null ? "" : ml_str;
// レコードの追加
if (!"".equals(nm_str) && !"".equals(ml_str)){
Statement st = c.createStatement();
int result = st.executeUpdate("insert into persondata (name, mail) VALUES ('"
+ nm_str + "','" + ml_str + "');");
Statement st2 = c.createStatement();
rs = st2.executeQuery("SELECT * FROM persondata");
}
// レコードの検索
if (!"".equals(nm_str) && "".equals(ml_str)){
Statement st = c.createStatement();
rs = st.executeQuery("SELECT * FROM persondata where name like '%"
+ nm_str + "%'");
} else {
Statement st = c.createStatement();
rs = st.executeQuery("SELECT * FROM persondata");
}
%>
<form metho="post" action="helo.jsp">
<table>
<tr>
<td>NAME:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>MAIL:</td>
<td><input type="text" name="mail"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="追加"></td>
</tr>
</table>
</form>
<hr>
<p><%= title %>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Mail</th>
</tr> <%
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
String mail = rs.getString("mail");
%>
<tr>
<td><%= id %></td>
<td><%= name %></td>
<td><%= mail %></td>
</tr>
<% }
c.close();
%>
</table>
</body>
</html>
| << 前へ |