Java之MS SQL数据库连接
来源:互联网 发布:购物分享php系统 编辑:程序博客网 时间:2024/05/21 15:07
一
1.首先,到微软官方下载jdbc驱动包 Microsoft JDBC Driver 4.0 for SQL Server
2.运行sqljdbc_4.0.2206.100_chs.exe,把文件解压到C盘的program files目录下
3.打开C:\ProgramFiles\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs\auth\x64 ,把sqljdbc_auth.dll复制到C:\Windows\System32目录下
4.把jdbc包的路径加入到环境变量中,右键计算机-属性-高级系统设置-高级-环境变量,找到path,把路径C:\ProgramFiles\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs;添加到最后
二 往项目中导入jdbc包
三 与MSSQL连接并读取数据
可以新建一个专门处理数据库连接的类
import java.sql.*;public class CreateConn {private Connection conn;CreateConn(){}/*与数据库建立连接**/public Connection getConnection(){try{Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //连接MSSQL,建立桥接器 System.out.println("数据库驱动加载成功!");String userName = "administrator"; //用户名String passWord = "xxxx"; //密码String url = "jdbc:sqlserver://localhost:1433;integratedSecurity=true;DatabaseName=XSBOOK"; //XSBOOK是数据库名 conn = DriverManager.getConnection(url,userName,passWord); //建立、连接数据源,用户名,密码if(conn != null){System.out.println("成功与数据库建立连接 !");}}catch(Exception e){e.printStackTrace();}return conn;}}
可以新建一个StudentSearch类来查询学生信息
import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.*;public class StudentSearch {public static void main(String []args){mainFrame frame = new mainFrame("学生信息查询");}}class mainFrame extends JFrame implements ActionListener,Runnable{/** * */private static final long serialVersionUID = 1L;private Thread thread;private JPanel panel; //控制面板private JScrollPane text; //可滚动面板private JLabel label; //提示标签private JTextField name; //编辑文字面板private JButton search; //查找按钮private JButton clear; //清除按钮private JTextArea display; //显示结果区域private ResultSet rs;mainFrame(String title){this.setTitle(title); //窗口名称this.setSize(800,300); //窗口大小this.setLocation(200,200); //窗口位置thread = new Thread(this); //当前线程label = new JLabel("请输入要查询的学生姓名或学号:");name = new JTextField(10);search = new JButton("搜索");search.addActionListener(this);clear = new JButton("清除");clear.addActionListener(this);display = new JTextArea(10,10);display.setEditable(false);//设置为不可编辑display.append("| 学号"+" | "+" 姓名 "+" | "+" 性别 "+" | "+" 年龄 "+" | "+" 出生日期 "+" | "+" 学院 | "+" 政治面貌 "+" |"+"已借书籍数"+"|"+"应还书数 "+'\n');panel = new JPanel();text = new JScrollPane(display);panel.add(label);panel.add(name);panel.add(search);panel.add(clear);this.add(text,BorderLayout.CENTER);this.add(panel,BorderLayout.NORTH);this.setVisible(true);this.validate();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}//监听器方法实现@Overridepublic void actionPerformed(ActionEvent event) {// TODO Auto-generated method stubif(event.getSource() == search) //查找按钮{if(!(thread.isAlive()))thread = new Thread(this);try{thread.start();}catch(Exception e){}}else if(event.getSource() == clear) //清除按钮{display.setText("| 学号"+" | "+" 姓名 "+" | "+" 性别 "+" | "+" 年龄 "+" | "+" 出生日期 "+" | "+" 学院 | "+" 政治面貌 "+" |"+"已借书籍数"+"|"+"应还书数 "+'\n');}}//线程方法复写@Overridepublic void run(){// TODO Auto-generated method stubCreateConn create = new CreateConn();Connection conn = create.getConnection(); //与数据库建立连接rs = search(conn); //返回搜索结果try{while(rs.next()) //读取内容{String name = rs.getString(1);String num = rs.getString(2);String sex = rs.getString(3);String age = rs.getString(4);String birthdate = rs.getString(5);String college = rs.getString(6);String party = rs.getString(7);String borrowBookN = rs.getString(8);String returnBookN = rs.getString(9);display.append(num+" "+name+" "+sex+" "+age+" "+birthdate+" "+college+" "+party+" "+borrowBookN+" "+returnBookN+'\n');}}catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//查找匹配,返回查找结果ResultSetpublic ResultSet search(Connection conn){try{String studentName = name.getText().trim();Statement sql = conn.createStatement(); //SQL对象if(studentName.equalsIgnoreCase("郑海生") || studentName.equalsIgnoreCase("2012150027"))rs = sql.executeQuery("SELECT * FROM Student_BookMessage WHERE 姓名 = '郑海生'"); //执行语句else if(studentName.equalsIgnoreCase("卢志鹏") || studentName.trim().equalsIgnoreCase("2012150001"))rs = sql.executeQuery("SELECT * FROM Student_BookMessage WHERE 姓名 = '卢志鹏'");else if(studentName.trim().equalsIgnoreCase("胡锦涛") || studentName.trim().equalsIgnoreCase("2011180128"))rs = sql.executeQuery("SELECT * FROM Student_BookMessage WHERE 姓名 = '胡锦涛'");else if(studentName.equalsIgnoreCase("江泽民") || studentName.trim().equalsIgnoreCase("2009110001"))rs = sql.executeQuery("SELECT * FROM Student_BookMessage WHERE 姓名 = '江泽民'");else rs = sql.executeQuery("SELECT * FROM Student_BookMessage WHERE 姓名 = '习近平'");}catch(SQLException e){}return rs;}}
效果图 0 0
- Java之MS SQL数据库连接
- JSP的MS SQL SERVER数据库连接
- 用vb与MS sql数据库连接
- MS SQL 数据库连接失败 解决办法 图解
- MS SQL Server 数据库连接字符串详解
- MS SQL Server 数据库连接字符串详解
- MS SQL Server 数据库连接字符串详解
- Java 中SQL 数据库连接
- JSP连接MySql/MS SQL Server/Oracle数据库连接方法【整理】
- QTP中MS SQL SERVER数据库连接的一种简单方法
- Jboss配置 MS SQL SERVER 2008数据库连接池实例
- Jboss配置 MS SQL SERVER 2008数据库连接池实例
- Access,MySQL,MS SQL Server数据库连接池配置方法
- C#之MS SQL SERVER
- java之mysql数据库连接
- Java学习之数据库连接
- MS Access数据库连接
- java数据库SQL SERVER2000数据库连接
- webservice的学习笔记(一)
- 设置Ubuntu的FQDN
- linux find 命令避开某个目录的用法prune
- 中纪委邀网民晒隐形“四风” 曝改头换面腐败手段
- kX3552常用插件集
- Java之MS SQL数据库连接
- Android学习之图像的处理
- 养成一个SQL好习惯带来一笔大财富
- 深入理解CRITICAL_SECTION
- Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键
- java 线程(九)
- grep 排除目录搜索
- iOS多国语言开发图解
- EMIStream v3.1 1CD