java执行多条sql命令

longxinzishu 2010-12-03 11:24:00
我现在在做一个留言板的注册页面,使用java做的,注册功能已经实现了,就是先在数据库中创建一个表,向里面添加注册信息,但我现在又想在有人注册的时候,每注册一个人就在数据库中创建一个专属于他的表,用来存储别人给他的留言主题和内容,这个该怎么实现?请高手指教,实现那个功能要在什么地方加什么代码,万谢!以下是代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String driver="org.postgresql.Driver";
String url="jdbc:postgresql://localhost:5432/guest";
String sql="insert into login(name,password,birthday,sex,hobby,phone) values(?,?,?,?,?,?)";
int result = 0;
Connection conn = null;
PreparedStatement pstmt = null;
String hobby = "";

response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("utf-8");

out.println("<HTML>");
out.println(" <HEAD><TITLE>注册信息页面</TITLE></HEAD>");
out.println(" <BODY>");
if(StringUtil.validateNull(request.getParameter("name"))){
out.println("对不起,姓名不能为空,请重新输入!");
out.println("<a href='/liuyanban2/survey.htm'>重新添加注册内容</a><br>");
}else if(StringUtil.validateNull(request.getParameter("password"))){
out.println("对不起,密码不能为空,请重新输入!");
out.println("<a href='/liuyanban2/survey.htm'>重新添加注册内容</a><br>");
}else if(StringUtil.validateNull(request.getParameter("email"))){
out.println("对不起,Email不能为空,请重新输入!");
out.println("<a href='/liuyanban2/survey.htm'>重新添加注册内容</a><br>");
}else if(StringUtil.validateNull(request.getParameter("phone"))){
out.println("对不起,电话不能为空,请重新输入!");
out.println("<a href='/liuyanban2/survey.htm'>重新添加注册内容</a><br>");
}else {
try {
//conn=postchi.pgpool.getConnection();
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url,"postgres","123456");
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, StringUtil.filterHtml(request.getParameter("name")));
pstmt.setString(2, StringUtil.filterHtml(request.getParameter("password")));
pstmt.setString(3, request.getParameter("birthday1")+"年"+request.getParameter("birthday2")+"月"+request.getParameter("birthday3")+"日");
pstmt.setString(4, request.getParameter("sex"));


String[] hobbys = request.getParameterValues("hobby");
for(int i=0;i<hobbys.length;i++){
hobby+=hobbys[i];
}
pstmt.setString(5, hobby);

pstmt.setString(6, StringUtil.filterHtml(request.getParameter("phone")));
pstmt.setString(7, StringUtil.filterHtml(request.getParameter("email")));
result=pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
if(result==0){
out.println("对不起,注册不成功!请重新注册");
out.println("<a href='/liuyanban2/survey.htm'>重新添加注册内容</a>");
}else{
out.println("恭喜!注册成功!查看注册信息"+"<br>"+"<br>");
out.println("<a href='/liuyanban2/denglu.htm'>登录</a>");
}
out.println("</body>");
out.println("</html>");
out.flush();
out.close();
}

}
}
...全文
328 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyongai0563 2010-12-03
  • 打赏
  • 举报
回复
楼上的“多进程” 是不是有点...
安心逍遥 2010-12-03
  • 打赏
  • 举报
回复
多进程,可以循执行。楼主可以网上搜搜。祝你好运
guyust 2010-12-03
  • 打赏
  • 举报
回复
一直被模仿 从未被超越
soli11722984 2010-12-03
  • 打赏
  • 举报
回复
直接执行create table ...就可以
ETCentury 2010-12-03
  • 打赏
  • 举报
回复
每人一张表,感觉太恐怖了?

不知道这中设计在什么地方使用呢??
UPC_思念 2010-12-03
  • 打赏
  • 举报
回复
qq空间只查你自己的那些信息,信息应该都是保存在一个表中的
快乐的2 2010-12-03
  • 打赏
  • 举报
回复
表与表之间的关联就搞定了。至于管理员在程序内判断是否是自己的留言就可以了。
genglukuan 2010-12-03
  • 打赏
  • 举报
回复
太强大了,一个人一张表,这个如果是租用的服务器,那花的钱就海了去了,所有人用一张表就可以搞定,大不了字段多点呗,我估计楼主还没入门,学生吧。
三毛v55 2010-12-03
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zhongwuxin 的回复:]

想问问楼主是在学习还是在工作,如果是在工作的话,我给你一个建议,别每个人进来给他建立一个表,你建一个表,来存储所有人的留言信息不就可以了嘛!
[/Quote]
支持!
mandyzhangwen 2010-12-03
  • 打赏
  • 举报
回复
参考tigerq326的
全用servlet,好累哦。
tigerq326 2010-12-03
  • 打赏
  • 举报
回复
一张表,用于记录所有留言信息,里面放以下几个属性1.Id(主键) 2.留言内容 3.版主ID(外键) 4.留言者ID(外键),预先创建,每次留言执行insert..当版主登入个人页面,根据版主ID获取所有留言记录,添加增删改查权限,如何判断自己是不是版主,参照19#建议,版主登入后用session保存登录用户,打开另外的留言板时,判断留言板的主人与其是否相同。
已--注--销 2010-12-03
  • 打赏
  • 举报
回复
建表也不难,不过,觉得这样设计不好。
水中影子 2010-12-03
  • 打赏
  • 举报
回复
为什么不在一张表内

那就根据用户名创建表呗。create table 。。。
RocketGor 2010-12-03
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 liaojianbiao 的回复:]
楼主 设计 有问题 。建议去网上看看这方面的设计 。。。
[/Quote]
确实,而且楼主别把你的代码全都放在Servlet里面啊,维护起来要你命!
liaojianbiao 2010-12-03
  • 打赏
  • 举报
回复
楼主 设计 有问题 。建议去网上看看这方面的设计 。。。
littlebaby0727 2010-12-03
  • 打赏
  • 举报
回复
用户登陆后,把ID或全站个人唯一的信息放到Session里,查看发帖者的信息,如果信息相同,给他这些增改删查的权限。
如果你一定要执行多条SQL来实现,就用事务管理器吧。
把所有SQL写到一个事务里面,然后再提交。
qishanshi 2010-12-03
  • 打赏
  • 举报
回复
很头大
longxinzishu 2010-12-03
  • 打赏
  • 举报
回复
那谁能简单的介绍一下,像QQ空间留言板是个什么思路?那不就是相当于每个人都有一个属于自己的表吗?我现在建了3个表,注册的表,留言的表,还有管理员的表,任何人的留言都在那张留言的表里,我用的postgreSQL,但是才刚接触没几天,怎么在数据库中向管理员表中添加管理员账号和密码?这样可以使管理员能登录。或者大家谁有个好点的留言板思路?解决这个问题分就给这个人了! 拜托了
yingying0406 2010-12-03
  • 打赏
  • 举报
回复
一张表也可以搞的定吧 然后级联一下就行了吧 呵呵 我也刚工作不久......
longxinzishu 2010-12-03
  • 打赏
  • 举报
回复
额…… 我还是学生,在做一个留言板,我的同学是设置了一个管理员,用来对留言进行删除和回复,但我想把每个人都弄成管理员,也就是说任何人都可以对自己的留言板进行操作而别人只能看或者留言不能再进行其他操作……我是参照QQ空间留言板的,感觉那个就是每个人都有自己的一张表,可以删除和回复,大家不要见怪哈……
加载更多回复(9)

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧