这是我我创建的两个表(新闻内容表)
create table ChinaInfo
(i_id INT AUTO_INCREMENT not null primary key,
i_title VARCHAR(100) not null,
i_content VARCHAR,
i_time TIMESTAMP not null);
create table ChinaC(评论表)
(c_no INT AUTO_INCREMENT not null primary key,
i_id INT not null,
c_username VARCHAR(20),
c_content TEXT,
c_time TIMESTAMP not null,
foreign key(i_id) references ChinaInfo(i_id) on delete cascade on update cascade);
我的代码为:
int i=0;
while(i<countPerPage&&!rs.isAfterLast())//这是关于分页的,不用管
{
out.println("<hr color=\"blue\" size=\"2\"><br>");
out.println("标题:"+rs.getString("i_title"));
out.println(" ");
out.println("内容:"+rs.getString("i_content"));
out.println(" ");
Timestamp ts=rs.getTimestamp("i_time");
long lms=ts.getTime();
java.sql.Date date=new java.sql.Date(lms);
// Date date=new Date(lms);
Time time=new Time(lms);
out.println("新闻发布时间:"+date+" "+time);
out.println(" ");
rs=st.executeQuery("select ChinaC.* from ChinaInfo,ChinaC where ChinaInfo.i_id=ChinaC.i_id");
if(rs.next())
{
out.println("<br/>");
out.println("评论:");
out.println(" ");
out.println("用户名:"+rs.getString("c_username"));
out.println(" ");
Timestamp cs=rs.getTimestamp("c_time");
long cms=cs.getTime();
java.sql.Date date1=new java.sql.Date(cms);
// Date date=new Date(lms);
Time time1=new Time(cms);
out.println("用户评论时间:"+date1+" "+time1);
out.println(" ");
out.println("评论内容:"+rs.getString("c_content"));
out.println(" ");
}
%>
<form name="form1" method="post" action="chinanews_add.jsp">
<table>
<tr>
<td>
新 闻 ID <input type="text" name="id" >
</td>
</tr>
<tr>
<td>
请输入用户名: <input type="text" name="username" >
</td>
</tr>
<tr>
<td>
请输入评论内容:<textarea rows="6" cols="40" name="content"></textarea>
</td>
</tr>
<tr align="center">
<td align="center">
<input type="submit" value="提交" name="text5">
<input type="reset" value="重置" name="text6">
</td>
</tr>
</table>
</form>
<% i++;
rs.next();
}
rs.close();
st.close();
conn.close();
%> 这两个查询分开查是没有问题的,我想实现的是,对于查询所有的标题,然后查询每个标题下的所有评论,对于每个标题可以回复评论,我的i_id是评论表的外键,怎么实现我在回复评论的时候能把i_id添加到评论的表里(如果通过查询插入的话,怎么插入阿,实在不能懂),,我上面的代码不对,两个(rs.next这个该怎么改)·但我实在不知道该怎么改··谢谢了
create table ChinaInfo
(i_id INT AUTO_INCREMENT not null primary key,
i_title VARCHAR(100) not null,
i_content VARCHAR,
i_time TIMESTAMP not null);
create table ChinaC(评论表)
(c_no INT AUTO_INCREMENT not null primary key,
i_id INT not null,
c_username VARCHAR(20),
c_content TEXT,
c_time TIMESTAMP not null,
foreign key(i_id) references ChinaInfo(i_id) on delete cascade on update cascade);
我的代码为:
int i=0;
while(i<countPerPage&&!rs.isAfterLast())//这是关于分页的,不用管
{
out.println("<hr color=\"blue\" size=\"2\"><br>");
out.println("标题:"+rs.getString("i_title"));
out.println(" ");
out.println("内容:"+rs.getString("i_content"));
out.println(" ");
Timestamp ts=rs.getTimestamp("i_time");
long lms=ts.getTime();
java.sql.Date date=new java.sql.Date(lms);
// Date date=new Date(lms);
Time time=new Time(lms);
out.println("新闻发布时间:"+date+" "+time);
out.println(" ");
rs=st.executeQuery("select ChinaC.* from ChinaInfo,ChinaC where ChinaInfo.i_id=ChinaC.i_id");
if(rs.next())
{
out.println("<br/>");
out.println("评论:");
out.println(" ");
out.println("用户名:"+rs.getString("c_username"));
out.println(" ");
Timestamp cs=rs.getTimestamp("c_time");
long cms=cs.getTime();
java.sql.Date date1=new java.sql.Date(cms);
// Date date=new Date(lms);
Time time1=new Time(cms);
out.println("用户评论时间:"+date1+" "+time1);
out.println(" ");
out.println("评论内容:"+rs.getString("c_content"));
out.println(" ");
}
%>
<form name="form1" method="post" action="chinanews_add.jsp">
<table>
<tr>
<td>
新 闻 ID <input type="text" name="id" >
</td>
</tr>
<tr>
<td>
请输入用户名: <input type="text" name="username" >
</td>
</tr>
<tr>
<td>
请输入评论内容:<textarea rows="6" cols="40" name="content"></textarea>
</td>
</tr>
<tr align="center">
<td align="center">
<input type="submit" value="提交" name="text5">
<input type="reset" value="重置" name="text6">
</td>
</tr>
</table>
</form>
<% i++;
rs.next();
}
rs.close();
st.close();
conn.close();
%> 这两个查询分开查是没有问题的,我想实现的是,对于查询所有的标题,然后查询每个标题下的所有评论,对于每个标题可以回复评论,我的i_id是评论表的外键,怎么实现我在回复评论的时候能把i_id添加到评论的表里(如果通过查询插入的话,怎么插入阿,实在不能懂),,我上面的代码不对,两个(rs.next这个该怎么改)·但我实在不知道该怎么改··谢谢了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货