在AIX Version 5.3中使用Java和PHP技术进行开发(3)
2008-11-13 08:14:08 来源:WEB开发网PHP技术进行开发(3)" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
第一个表 survey_response,用于标识单个问卷调查的回答,其中的唯一的 ID(使用连续的数据类型)用于标识每个问卷调查以及需要回答的问题。在这个示例结构中,仅定义了一个字段,即唯一的 ID,数据库将自动生成这个值。您将使用这个唯一的 ID 来标识 survey_response_detail 表中实际问卷调查问题回答的组。您不能在 survey_response_detail 中使用自动递增的字段,因为这个值应该对于一组问题回答是唯一的。因为您在一行中存储一个问题回答,所以每个问题都应该有一个新的 ID,而不是每个问卷调查一个 ID,后者并不是我们想要的。
很显然,这个表目前的格式仅包含一个字段,它看起来根本没什么用处,但是您可以在这个表中存储附加的信息,如回答者的电子邮件地址或者用于不同问卷调查的其他标识信息。
清单 6 中的 Java 类 CreateDB,创建了您所需要的数据库表。
清单 6. 为我们的应用程序创建数据库表import java.sql.*;
public class CreateDB {
public static void main(String[] args) {
Connection conn = null;
try {
Class.forName("com.ibm.db2.jcc.DB2Driver");
conn =
DriverManager.getConnection("jdbc:db2://localhost:50000/SURV
EY",
"db2inst1","surveypw");
Statement s = conn.createStatement ();
s.executeUpdate ("CREATE TABLE survey_response (" +
"responseid int GENERATED ALWAYS AS IDENTITY
PRIMARY KEY" +
")");
s.executeUpdate ("CREATE TABLE survey_response_detail (" +
"responseid int, " +
"question int, " +
"subquestion int, " +
"responsenumeric int," +
"responsestring varchar(40)" +
")");
s.close ();
} catch (Exception ex) {
System.out.println("SQLException: " + ex.getMessage());
}
}
}
更多精彩
赞助商链接