注:数据库为SQL SERVER2005,不同的数据库连接方法有些许差异,请注意区别。
另外,此处在JSP页面中嵌入JAVA语句的方式是一种不太好的操作方式,在这里仅提供这一方法操作的可行性,具体实际项目中一般会使用优化的框架(例如SSH)来对数据库进行操作。
test数据库中fruit表:
水果名 价格
apple 4
pear 3
water 1
JSP代码:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// Create a variable for the connection string.
String connectionUrl = "jdbc:sqlserver://localhost:1433;" + "DatabaseName=test;user=sa;password=123456";
//此处用户名和密码为安装时自己设置的用户名和密码,根据自己的设置而定。
//注意一个完整的字符串之间是以分号隔开不同的内容,但若以参数放入方法中,则以逗号隔开。
// Declare the JDBC objects.
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
PreparedStatement pre;
con = DriverManager.getConnection(connectionUrl);
String sql3="select * from fruit where 水果名='watermelon'";
stmt = con.createStatement();
rs = stmt.executeQuery(sql3);
if(!rs.next())
{
String sql = "insert into fruit values(?,?)";
pre = con.prepareStatement(sql);
pre.setString(1,"watermelon");
pre.setString(2,"1.5");
pre.executeUpdate();
}
String sql1 = "delete from fruit where 水果名='water'";
stmt=con.createStatement();
stmt.executeUpdate(sql1);
String sql2 = "update fruit set 水果名=?,价格=? where 水果名='apple'";
pre = con.prepareStatement(sql2);
pre.setString(1,"苹果");
pre.setString(2,"3块");
pre.executeUpdate();
String sql4="select * from fruit ";
stmt = con.createStatement();
rs = stmt.executeQuery(sql4);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%> <br>
<%}%>
<%out.print("数据库CRUD成功,恭喜你");%>
<%
pre.close();
stmt.close();
con.close();
%>
</body>