连接sql方法:
1、登录常见问题
如果连接不上数据库,请看服务器名称为是否为主机名加实例名SQLEXPRESS
例如,我这里就要改为B40391\SQLEXPRESS才能连上
2、验证模式
选择服务器→属性→安全性
服务器身份验证选择SQL Server和Windows身份验证模式
设置登录名和密码,选择“资源管理器→服务器→安全性→登录名→sa”
右键打开属性面板,设置登录密码,这里设置为123456。
选择“状态”选项设置,“是否允许连接到数据库引擎”设置为“授予”,“登录”设置 为“启用”。
3、打开SQL Server配置管理器
在SQL Server网络配置 – SQLEXPRESS的协议
TCP/IP右键启用
然后右键属性,在IP地址为127.0.0.1已启用选择是
在IPAII设置TCP端口为1433
然后重启SQL Server服务器 SQL Server服务 -- SQL Server(SQLEXPRESS)右键重新启动
4、测试sa用户名是否成功:
正常登录,验证设置成功。
6、加载驱动。
把JDBC驱动sqljdbc42.jar下载分别放到JDK安装目录的jre/lib/ext文件夹中,和Tomcat的安装目录的lib目录下
7、测试应用程序
JSP连接SQL Server配置已经成功了,接下来测试是否连接成功
测试代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.sql.*" %>
test_sql
<%
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动
//Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost;DatabaseName=Test;user=sa;password=123456");//数据库名test,用户名sa,密码123456
Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost;DatabaseName=qiye;user=sa;password=123456");//数据库名qiye,用户名sa,密码123456
String sql = "select * from admin";//查询语句
Statement stmt=conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();//获取查询结果的列数
while(rs.next()){
for(int i=1;i<=numberOfColumns;i++){
out.print(rs.getString(i)+"\t");
}
out.print("
");
}
out.println("successful!");//连接数据库成功时输出successful!
}catch(Exception e){
e.printStackTrace();
out.println("数据库驱动加载错误");
}
%>
则表示连接数据库成功!
下面是jsp与数据库的具体应用;
这是登录数据库
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//这个是加载驱
Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost;DatabaseName=qiye;user=sa;password=123456");//数据库名test,用户名sa,密码123456
//创建Statement接口对象
Statement sql=conn.createStatement();
//处理结果集
ResultSet rs=sql.executeQuery(" select * from red where username='"+username+"'and password='"+password+"'");
这是数据库数据的增加
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载驱动
//Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost;DatabaseName=Test;user=sa;password=123456");//数据库名test,用户名sa,密码123456
Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost;DatabaseName=qiye;user=sa;password=123456");//数据库名test,用户名sa,密码123456
//创建Statement接口对象
Statement sql=conn.createStatement();
ResultSet rs=sql.executeQuery(" select * from red where username='"+username+"'and password='"+password+"'");
if(rs.next()){
out.print("");
}else{
String con="insert into red(username,password,zhuzi,xingbei,ganyan) values('"+username+"','"+password+"','"+zhuzi+"','"+xingbei+"','"+ganyan+"')";
sql.executeUpdate(con);
out.print("");
}
out.println("操作成功");
rs.close();
conn.close();
}catch(SQLException e1){
out.print("数据连接失败");
out.print(e1.toString());
}
ResultSet rs=sql.executeQuery(" select * from red where username='"+username+"'and password='"+password+"'");//这个先查询表中是否存在这个数据
String con="insert into red(username,password,zhuzi,xingbei,ganyan) values('"+username+"','"+password+"','"+zhuzi+"','"+xingbei+"','"+ganyan+"')";//这是向表中添加数据
数据修改
"xiugai.jsp?id=<%=rs.getInt(1) %>"//这个是将id传到xiugai.jsp这个页面
点击提交按钮将表单的内容提交到update.jsp这个页面,而且还将这条数据的id传到这个页面
数据删除
"del.jsp?id=<%=rs.getInt(1) %>" 将数据的id传到del.jsp这个页面