Statement接口
*Statement接口提供了两种执行SQL语句的常用方法:1、public ResultSet executeQuery(String sql) throws SQLException
例如:
<%
String driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=database1"; //database1为需要连接的数据库名称
String username="sa"; //数据库的用户名
String password="123456"; //用户密码
Class.forName(driverClass);
Connection conn=DriverManager.getConnection(url,username,password);
Statement stmt=conn.createStatement();
String sql="select * from login where name='"+n1+"' and password='"+n2+"' and Email='"+n3+"' ";
//n1、n2、n3为变量
ResultSet rs=stmt.executeQuery(sql);rs.close();
stmt.close();
conn.close();
%>
2、public int executeUpdate(String sql) throws SQLException
例如:
<%String driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=database1";
String username="sa";
String password="123456";
Class.forName(driverClass);
Connection conn=DriverManager.getConnection(url,username,password);
Statement stmt=conn.createStatement();
String sql=" insert into login(name,password,Email) values('"+user+"','"+pwd+"','"+Email+"')"
Int rtn=stmt.executeUpdate(sql) ;rs.close();
stmt.close();
conn.close();
%>
ResultSet对象
*ResultSet 包含符合SQL语句执行结果所有行,并且它通过一套get方法提供了对这些行中数据的访问,常用的get方法有:1、int getInt(int columnIndex),取得当前行中第columnIndex列的整数的值。
2、int getInt(String columnName),取得当前行中列为名为columnName列的整数的值。
3、Date getDate(int columnIndex),取得当前行中第columnIndex列的日期的值。
4、Date getDate(String columnName),取得当前行中列为名为columnName列的日期的值。
5、public String getString(int columnIndex),取得当前行中第columnIndex列的字符串的值。
ResultSet rs=stmt.executeQuery("select * from login where name='"+n1+"' and password='"+n2+"' and Email='"+n3+"'");
rs.getString(1); //获取第一列的值
6、public String getString(String columnName),取得当前行中列为名为columnName的字符串的值。
*ResultSet维护指向其当前数据行的光标,让光标向下移动一行的方法是: Public boolean next() throws SQLException
例如:
ResultSet rs=stmt.executeQuery("select * from login where name='"+n1+"' and password='"+n2+"' and Email='"+n3+"'");
rs.next();
PreparedStatement对象
Statement stmt=conn.createStatement();Int rs=stmt.executeUpdate(“inser into tb_user(name,pwd) values(“hope”,”111”)”);//statement插入
PreparedStatement pStmt=conn.PrepareStatement(“insert into tb_user(name,pwd) values(?,?)”);
pStmt.setString(1,”hope”);//PreparedStatement插入,属性及插入位置需要与?对应
pStmt.setString(2,”111”);