如何解決,關於判斷用戶是否已輸入過資料..謝謝

javaqqk 2004-09-30 04:19:51
sql2="select sdgendr from qtest where userid="+userid;
System.out.println(sql2);
ResultSet rs = stmt.executeQuery(sql2);
while(rs.next()){ <-----當沒有相關的id時,就跳到catch
System.out.println("Yes");
int test = rs.getRow();
System.out.println(test);

if(test==0){
String sql="insert into qtest(age,sdgendr,why_reading1,why_reading2,now1,userid) values ('"
+age
+"','"
+sdgendr
+"','"
+why_reading1
+"','"
+why_reading2
+"','"
+now
+"','"
+userid
+"')";
String sql1="insert into wtest(userid) values('"+userid+"')";
System.out.println("sql="+sql);

stmt.executeUpdate(sql);
stmt.executeUpdate(sql1);

rs.close();
stmt.close();
conn.close();

請問如何修改,還有close()這樣寫法正確嗎?
...全文
111 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Argentia 2004-10-09
if (!rs.next())
{
insert .....
}
回复
javaqqk 2004-10-09
是的,不過我要先檢查再insert,就是如果沒有記錄就輸入,如果有,也就是說rs.next()不為null,則不運行insert,這麽簡單的問題,我處理了幾天,幫幫我啊,謝謝.
回复
Argentia 2004-10-09
我认为你的程序有问题:
如果while(rs.next())成功的话,int test=rs.getRow()后,test就不能=0,那么if (test==0)里面的代码就不能执行,有什么意义呢?
回复
javaqqk 2004-10-09
請問,上述代碼
int t=0;
.
.
.
while(RS.next()){

t=t+1;
}
//如果執行了t++,便是同樣執行了 if(t==0){,好像while內的t影響不了if()內的t
if(t==0){
回复
javaqqk 2004-10-09
ok...謝謝.各位,特別謝謝 Argentia.
回复
angelheart 2004-09-30
就是控制页面输出
回复
pigrain 2004-09-30
和楼上的差不多
回复
hbuzhang 2004-09-30
这个问题我做过,是在日志管理系统中,如果已经写了,那就提示信息已经写了,不能再写了,不知道你的需求是否和我的一样。我是这么写的:
<% String sql="select * from 表名 where time=trunc(sysdate) and username='"+name+"'";
String isnull="null";
ResultSet RS=null;
int t=0;
try {
RS=userBean.executeQuery(sql);
}catch(Exception e) {
out.println("访问数据库出错!");
}
while(RS.next()){

t=t+1;
}

if(t==0){

%>
<form name="jihua" action="jhyl.jsp" method="post" onSubmit="windowOpener('')" target="surveywin">
<table width="603" height="254" border="0">
<tr>
<td width="6" height="229"> </td>
<td colspan="3"><textarea name="textarea" cols="78" rows="15" wrap="PHYSICAL"></textarea></td>
</tr>
<tr>
<td height="28"> </td>
<td width="128"> </td>
<td width="171"><input class=button type="submit" name="Submit" value="预 览"></td>
<td width="280"><input class=button type="reset" name="Submit2" value="重 置"></td>
</tr>
</table>
</form>
<% }else {%>
<span class='style3'>  对不起,你已经添加过计划了;</span>
<% //out.println("<textarea name='textarea' cols='78' rows='15' readonly='readonly' wrap='PHYSICAL'></textarea>");

}
%>
回复
javaqqk 2004-09-30
no one can help me???
回复
javaqqk 2004-09-30
while(rs.next())問題在這...因為如果是0,就要輸入,不過rs.next()會throws exception,所以不會執行if(==0)的,這裏我處理不了,謝謝.
回复
liujiboy 2004-09-30
没仔细看代码,要验证是否已经输入过,只能是查询一次。你的方法应该没有问题
回复
javaqqk 2004-09-30
ding
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告