public String execute() throws Exception
{
// try
// {
String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
Class.forName(driver);
con=DriverManager.getConnection(url,"SA","123");
Statement statement=con.createStatement();
sql="SELECT pw FROM student where name='"+getUsername()+"'";
ResultSet resultset=statement.executeQuery(sql);
if (resultset != null) //不判断是否唯空又没有try就取记录会报错的
{
resultset.next();
password1=resultset.getString(1);
resultset.close();
statement.close();
con.close();
}
else
{
return ERROR;
}
if (!(getUsername().equals("ydn"))&& !(getPassword().equals(password1))) //下标是从“1”开始的
{
message =" Hello World,"+getUsername()+"你已经成功登录,Now is " + DateFormat.getInstance().format( new Date());
return SUCCESS;
}
// }
// catch(Exception e)
// {
// e.printStackTrace();
// }
}
if (resultset != null) //不判断是否唯空又没有try就取记录会报错的
{
... // 这里的没有return值
}
else
{
return ERROR;
}
if (!(getUsername().equals("ydn"))&& !(getPassword().equals(password1))) //下标是从“1”开始的
{
...
return SUCCESS;
}
[color=red][b]return ...;[/b][/color]
你看你的逻辑分支,要保证所有情况下都有返回一个string,当你第一个if语句成立,而第二个if不成立的时候,返回什么???在最后加个return "返回的结果"; 语句就没错了....总之,你要保证每个逻辑分支都要有return语句...
我表达的不很清楚,凑合着看吧...
在代码的最后加入return "";就可以了
配置文件看看是不是配置了页面名称
只有在if()...里有return语句,可是当if...()不成立时,就没有了return语句,所以会说你缺少返回语句.