读书人

关于Struts的有关问题

发布时间: 2011-12-14 23:20:17 作者: rapoo

关于Struts的问题
在Struts中,我写了一个JavaBean执行具体的业务逻辑

package struts;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

import servlet.User;

public class UserBean {
private Connection conn;
public UserBean() throws Exception{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=students","sa","1987825");
}
public void addUser(User user) throws Exception{
Statement sm=conn.createStatement();
sm.execute("insert into StrutsUser values(user.getUsername(),user.getPassword())");
//说是insert有错误。请指教,谢谢。

}

}

[解决办法]
sql不能那样写
sql="insert into StrutsUser values("+user.getUsername()+","+"user.getPassword())";
[解决办法]
楼上的好像也不是正解应该是
sql="insert into StrutsUser values('"+user.getUsername()+"','"+user.getPassword()+"')";
[解决办法]
String sql;
sql="insert into StrutsUser values( \'"+user.getUsername()
+" \',\'"
+user.getPassword()+"\')";
两个字段为字符串类型时,OK。
如果是其它类型,可能有变化,和数据库有关;
最好的办法是,跟踪语句到这个地方,把最终的执行语句直接在数据库里面执行,如要没有错那就OK了
[解决办法]
PreparedStatement pstmt = conn.prepareStatement("insert into StrutsUser values(?,?);
pstmt.setString(1, user.getUsername());
pstmt.setString(2, user.getPassword());
pstmt.execute();

读书人网 >Java Web开发

热点推荐