数据库中setString()的使用
request.setCharacterEncoding("gb2312");
String username=request.getParameter("textfield1");
String password=request.getParameter("textfield2");
try
{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost/b";
Connection con=DriverManager.getConnection(url,"root","123");
String sql="select * from user where username=? and password=?";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1,username);
ps.setString(2,password);
ResultSet rs=ps.executeQuery();
if(rs.next())
..............................
}
上面的程序是一个获取登陆界面中文本框中用户名和密码的代码,获取之后,在数据库中查询是否
存在。一直不是很明白setString()的具体使用,这儿的setString(1,username)中1代表username=?中的
问号,而?代表数据库username字段中的任意值,这儿是怎样实现查询用户名和密码是否存在的???
------解决方案--------------------
PreparedStatement 是预处理的SQL语句。是你将参赛装配好之后调用ps.executeQuery()时才转化成SQL语句在数据库中执行