标题:用javaBean进行数据库操作(原来的已解决,新又有个问题)
只看楼主
豚豚2007
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-7-25
 问题点数:0 回复次数:10 
用javaBean进行数据库操作(原来的已解决,新又有个问题)


新问题:我想查询数据库,内容用自己的参数输入,但老不对,只能输出failed(这是我自己做测试用的,成功的话为success)大家帮忙看看啊

package message;
import java.sql.*;
public class MessageLogin
{
private String name,password;
public void setname(String name){
this.name=name;
}
public String getname(){
return name;
}
public String getpassword(){
return password;
}
public void setpassword(String password){
this.password=password;
}


public String getMessage(String name,String password){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=null;
Statement stmt=null;
ResultSet rs=null;

con=DriverManager.getConnection("jdbc:odbc:netbook","sa","442352");
stmt=con.createStatement();
String str="select *from jacky.dbo.message";
rs=stmt.executeQuery(str);
while(rs.next()){

String na=rs.getString("name");
String ps=rs.getString("password");
System.out.println(na);//这两个都是能正确输出的
System.out.println(ps);

if(na.equals(name)&&password.equals(ps)){
System.out.println("success");
}
else{
System.out.println("failed");
}
}
}
catch(Exception e){

}
}
public static void main(String args[]){
MessageLogin login=new MessageLogin();
String str=login.getMessage("jacky","123");//测试语句
}
}

[此贴子已经被作者于2007-11-20 20:40:55编辑过]

搜索更多相关主题的帖子: 数据库 javaBean 
2007-11-19 16:15
无缘今生
Rank: 2
等 级:新手上路
威 望:3
帖 子:523
专家分:7
注 册:2007-6-25
得分:0 
思想是正确的.
不过你的JAVABEAN似乎并没有写完哦:你写了SQL语句后,怎么没看到有运行的语句呀.

在写好一个BEAN后,最好先测试一下它的正确性,然后再使用它,这样会少很多麻烦.

时不再来!!!
2007-11-20 10:52
豚豚2007
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-7-25
得分:0 


按ls说的,加了测试语句,运行结果是数据库是增加了“jacky”这个数据,那为什么用到jsp就不行了呢?
package message;
import java.sql.*;
public class MessageData{
private String name,email,title,content;
public void setname(String name){
this.name=name;
}
public String getname(){
return name;
public void add(String name){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(Exception e){}
Connection con=null;
PreparedStatement stmt=null;
ResultSet rs=null;
try{
con=DriverManager.getConnection("jdbc:odbc:netbook","sa","442352");
String str="insert into jacky.dbo.message (name)values(?)";
stmt=con.prepareStatement(str);
//String st=request.getParameter("name");
String st=name;

stmt.setString(1,st);
stmt.executeUpdate();
con.close();

}
catch(Exception e){}
}
public static void main(String args[]){
MessageData data=new MessageData();
data.add("jacky");//新增加的测试语句
}
}

2007-11-20 11:41
无缘今生
Rank: 2
等 级:新手上路
威 望:3
帖 子:523
专家分:7
注 册:2007-6-25
得分:0 
这样做,理论上是没有错的呀.

请问你的MessageData.class放在什么地方.

时不再来!!!
2007-11-20 20:18
豚豚2007
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-7-25
得分:0 
已经搞通了,TOMCAT跟数据库都要重启才可以的,呵呵,谢谢啊
2007-11-20 20:33
豚豚2007
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-7-25
得分:0 
大家帮帮忙啊
2007-11-23 21:04
无缘今生
Rank: 2
等 级:新手上路
威 望:3
帖 子:523
专家分:7
注 册:2007-6-25
得分:0 
if(na.equals(name)&&password.equals(ps)){
System.out.println("success");
}

请问,你在比较之前,name和password的值是多少。

时不再来!!!
2007-11-23 21:20
豚豚2007
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-7-25
得分:0 
public static void main(String args[]){
MessageLogin login=new MessageLogin();
String str=login.getMessage("jacky","123");//测试语句

最后这里的主函数有输入的啊
2007-11-23 23:39
无缘今生
Rank: 2
等 级:新手上路
威 望:3
帖 子:523
专家分:7
注 册:2007-6-25
得分:0 
String na=rs.getString("name");
String ps=rs.getString("password");
你在这两句后面再加下面两句试试:
na = na.trim();
ps = ps.trim();

时不再来!!!
2007-11-24 11:25
豚豚2007
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-7-25
得分:0 
这样果然就可以了,可以说下原因么???
2007-11-26 22:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-187210-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.147656 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved