数据库是提前建立好的SCT数据库;
分成Frame.java 和Main.java,SCT.java
开工!


Frame.java

import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;/*** */
/** * @author 作者:拔牙不打麻药 * @version 创建时间:2020年4月28日 下午10:51:44 *//*** @author 拔牙不打麻药** @time 2020年4月28日*/public class Frame extends JFrame{String s;Connection conn;final String URL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=SCT";final String USER="sa";final String PASSWORD="123456";Statement st;ResultSet rs;//提示框JLabel jl1=new JLabel("请输入要查询的学生姓名和成绩:                                      ");JLabel jl2=new JLabel("请输入要查询的教师姓名并显示工资:                              ");JLabel jl3=new JLabel("请输入要查询的部门并显示部门的所有老师:                 ");JLabel jl4=new JLabel("请输入要删除的部门信息:                                                   ");JLabel jl5=new JLabel("请输入要插入的部门信息:                                                   ");JLabel jl6=new JLabel("请输入要更新的学生信息:                                                   ");//文本框JTextField jt1=new JTextField(20);JTextField jt2=new JTextField(20);JTextField jt3=new JTextField(20);JTextField jt4=new JTextField(20);JTextField jt5=new JTextField(20);JTextField jt6=new JTextField(20);
//  JTextField jt7=new JTextField(20);//按钮JButton jb1=new JButton("查询");JButton jb2=new JButton("查询");JButton jb3=new JButton("查询");JButton jb4=new JButton("删除");JButton jb5=new JButton("插入");JButton jb6=new JButton("更新");//显示框JTextArea jt=new JTextArea("jt");public void createframe() {this.setTitle("教务信息管理模块");this.setLayout(null);this.setLocation(300,100);this.setSize(800, 700);this.setLayout(null);//容器JPanel jp1=new JPanel();JPanel jp2=new JPanel();JPanel jp3=new JPanel();JPanel jp4=new JPanel();JPanel jp5=new JPanel();JPanel jp6=new JPanel();JPanel jp7=new JPanel();//设置容器大小jp1.setBounds(10, 10, 700, 60);jp2.setBounds(10, 80, 700, 60);jp3.setBounds(10, 150, 700, 60);jp4.setBounds(10, 220, 700, 60);jp5.setBounds(10, 290, 700, 60);jp6.setBounds(10, 360, 700, 60);jp7.setBounds(10, 400, 700, 160);//左对齐jp1.setLayout(new FlowLayout(FlowLayout.LEFT));jp2.setLayout(new FlowLayout(FlowLayout.LEFT));jp3.setLayout(new FlowLayout(FlowLayout.LEFT));jp4.setLayout(new FlowLayout(FlowLayout.LEFT));jp5.setLayout(new FlowLayout(FlowLayout.LEFT));jp6.setLayout(new FlowLayout(FlowLayout.LEFT));jp7.setLayout(new FlowLayout(FlowLayout.LEFT));//加入面板中this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);this.add(jp7);jp1.add(jl1);jp1.add(jt1);jp1.add(jb1);jp2.add(jl2);jp2.add(jt2);jp2.add(jb2);jp3.add(jl3);jp3.add(jt3);jp3.add(jb3);jp4.add(jl4);jp4.add(jt4);jp4.add(jb4);jp5.add(jl5);jp5.add(jt5);jp5.add(jb5);jp6.add(jl6);jp6.add(jt6);jp6.add(jb6);jp7.add(jt);this.setVisible(true);//设置textarea的字体格式jt.setFont(new Font("黑体",Font.BOLD,10));//添加监听事件jb1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub
//              Method m=new Method();
//              m.actionPerformed(e);if(e.getSource()==jb1) {if(jt1.getText().equals("")) {JOptionPane.showMessageDialog(null, "Big胆!居然不输入内容!","狗狗提醒您:",JOptionPane.ERROR_MESSAGE);jt1.grabFocus();}else {JOptionPane.showMessageDialog(null, "查询成功!建议北大青鸟录取!","古德!",JOptionPane.INFORMATION_MESSAGE);s=jt1.getText();try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection(URL,USER,PASSWORD);String sql="select S1.Sno,S2.Cno,S2.Score From Student S1,SC S2 Where S1.Sno=S2.Sno and S1.Sname='"+s+"'"+"\n";st=conn.createStatement();rs=st.executeQuery(sql);if(rs.next()) {jt.setText("该同学的学号为"+rs.getString("Sno")+",课程:"+rs.getString("Cno")+",这科成绩为:"+rs.getString("Score")+"\n");}}catch(Exception e1) {JOptionPane.showMessageDialog(null, "数据库连接失败"+e1.getMessage());}}}jt1.setText("");}});jb2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif(e.getSource()==jb2) {if(jt2.getText().equals("")) {JOptionPane.showMessageDialog(null, "Big胆!居然不输入内容!","狗狗提醒您:",JOptionPane.ERROR_MESSAGE);jt2.grabFocus();}else {JOptionPane.showMessageDialog(null, "查询成功!建议北大录取!","古德!",JOptionPane.INFORMATION_MESSAGE);s=jt2.getText();try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection(URL,USER,PASSWORD);String sql="select t.Tname,c.Cname,c.Cno,t.Salary from Teacher t,Course c where t.Tname='"+s+"' and t.Tno=c.Tno";st=conn.createStatement();rs=st.executeQuery(sql);if(rs.next()) {jt.setText("老师的姓名为"+rs.getString("Tname")+",教授的课程为:"+rs.getString("Cname")+",课程代码为:"+rs.getString("Cno")+",工资为:"+rs.getString("Salary")+'\n');}}catch(Exception e1) {JOptionPane.showMessageDialog(null, "数据库连接失败"+e1.getMessage());}jt2.setText("");}}}});jb3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif(e.getSource()==jb3) {if(jt3.getText().equals("")) {JOptionPane.showMessageDialog(null, "Big胆!居然不输入内容!","狗狗提醒您:",JOptionPane.ERROR_MESSAGE);jt3.grabFocus();}else {JOptionPane.showMessageDialog(null, "查询成功!建议北大录取!","古德!",JOptionPane.INFORMATION_MESSAGE);s=jt3.getText();try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection(URL,USER,PASSWORD);String sql="select d.Dname, t.Tname from Dept d,Teacher t where d.Dname='"+s+"' and d.Dno=t.Dno;";st=conn.createStatement();rs=st.executeQuery(sql);if(rs.next()) {jt.setText("该部门为"+rs.getString("Dname")+",老师名为:"+rs.getString("Tname")+'\n');}}catch(Exception e1) {JOptionPane.showMessageDialog(null, "数据库连接失败"+e1.getMessage());}jt3.setText("");}}}});jb4.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif(e.getSource()==jb4) {if(jt4.getText().equals("")) {JOptionPane.showMessageDialog(null, "Big胆!居然不输入内容!","狗狗提醒您:",JOptionPane.ERROR_MESSAGE);jt4.grabFocus();}else {JOptionPane.showMessageDialog(null, "查询成功!建议北大录取!","古德!",JOptionPane.INFORMATION_MESSAGE);s=jt4.getText();try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection(URL,USER,PASSWORD);//String sql="delete from Dept where Dept.Dname='"+s+"';";String sql="select * from Dept where Dname='"+s+"'";st=conn.createStatement();rs=st.executeQuery(sql);if(rs.next()) {jt.setText("成功删除"+rs.getString("Dname")+"部门,部门编号为" +rs.getString("Dno")+"部门负责人为 "+rs.getString("Dean")+"\n");}sql="delete from Dept where Dept.Dname='"+s+"';";rs=st.executeQuery(sql);}catch(Exception e1) {//JOptionPane.showMessageDialog(null, "数据库连接失败"+e1.getMessage());}jt4.setText("");}}}});jb5.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif(e.getSource()==jb5) {if(jt5.getText().equals("")) {JOptionPane.showMessageDialog(null, "Big胆!居然不输入内容!","狗狗提醒您:",JOptionPane.ERROR_MESSAGE);jt5.grabFocus();}else {JOptionPane.showMessageDialog(null, "查询成功!建议北大录取!","古德!",JOptionPane.INFORMATION_MESSAGE);s=jt5.getText();try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection(URL,USER,PASSWORD);String sql="insert into Dept values('01','"+s+"','周志光');";jt.setText("成功插入"+s+"部门!\n");String sql1="select * from Dept where Dname='"+s+"'";st=conn.createStatement();rs=st.executeQuery(sql);Statement st1=conn.createStatement();ResultSet rs1=st1.executeQuery(sql1);if(rs1.next()) {//jt.setText("成功插入"+rs.getString("Dname")+"部门,部门编号为" +rs.getString("Dno")+"部门负责人为 "+rs.getString("Dean")+"\n");}}catch(SQLException e1) {//JOptionPane.showMessageDialog(null, "数据库连接失败"+e1.getMessage());}catch (ClassNotFoundException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}jt5.setText("");}}}});jb6.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif(e.getSource()==jb6) {if(jt6.getText().equals("")) {JOptionPane.showMessageDialog(null, "Big胆!居然不输入内容!","狗狗提醒您:",JOptionPane.ERROR_MESSAGE);jt6.grabFocus();}else {JOptionPane.showMessageDialog(null, "查询成功!建议北大录取!","古德!",JOptionPane.INFORMATION_MESSAGE);s=jt6.getText();try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection(URL,USER,PASSWORD);String sql="update SC  set SC.Score=SC.Score*0.9 where SC.Sno=(select s.Sno from Student s where s.Sname='"+s+"')";jt.setText("更新"+s+"同学的成绩成功!"+'\n');st=conn.createStatement();rs=st.executeQuery(sql);}catch(Exception e1) {JOptionPane.showMessageDialog(null, "数据库连接失败"+e1.getMessage());}jt6.setText("");}}}});}}

Main.java

/*** */
/** * @author 作者:拔牙不打麻药 * @version 创建时间:2020年4月29日 下午9:45:23 *//*** @author 拔牙不打麻药** @time 2020年4月29日*/public class main {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubSCT sct=new SCT();Frame f=new Frame();sct.getConn();f.createframe();}}

SCT.java

import java.sql.*;import javax.swing.JApplet;
import javax.swing.JOptionPane;
import javafx.application.Application;
/** * @author 作者:拔牙不打麻药 * @version 创建时间:2020年4月26日 下午4:55:55 */
public class SCT {private static SCT sct=new SCT();public SCT() {try {//加载驱动程序String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());System.out.println("驱动程序已加载");}catch(Exception e){JOptionPane.showMessageDialog(null, "数据库加载失败"+e.getMessage());}}public static Connection getConn() {try{final String URL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=SCT";final String USER="sa";final String PASSWORD="123456";Connection conn=null;//获得数据库的连接conn=DriverManager.getConnection(URL,USER,PASSWORD);System.out.println("已成功连接到数据库");return conn;}catch(Exception e) {JOptionPane.showMessageDialog(null, "数据库连接失败"+e.getMessage());return null;}}}

放一张查询图


好像还有几个bug,但是能用嘻嘻
竣工!

用Java连接SQL SERVER数据库 GUI实现查询相关推荐

  1. 通过Java连接Sql Server数据库

    1.下载JDBC JDBC是Java DateBase Connectivity的简写,翻译过来就是java连接数据库,或者更通俗地说就是java语言操作数据库.JDBC的本质其实是官方定义的一套操作 ...

  2. java连接sql server数据库的代码如何改成连接mysql_Java连接sql server或mysql数据库(代码)...

    Java连接sql server或mysql数据库(代码) package Test; import java.sql.Connection; import java.sql.DriverManage ...

  3. java连接sql server数据库的代码如何改成连接mysql_连接sqlserver数据库代码

    Sql Server的JDBC测试程序与远程连接 参考文献: 1.MySql与oracle的JDBC测试程序 2.查看sqlserver的端口号 代码示例 在我的机器上安装了多个版本的sqlserve ...

  4. java 打开sql数据库_idea 使用Java连接SQL Server数据库教程

    一.工具 1.IntelliJ IDEA 2019.2.4 2.SQL Server数据库,我这里使用的是SQL Server2008 二.数据库用户配置 1.新建一个登录用户 登录数据库 进入如下界 ...

  5. java学习(168):java连接SQL server数据库

    1安装sql server数据库 2打开eclipse写入以下代码 package sjk;import java.sql.*;public class Main {//这里可以设置数据库名称priv ...

  6. idea的java项目怎么连数据库_idea 使用Java连接SQL Server数据库教程

    一.工具 1.IntelliJ IDEA 2019.2.4 2.SQL Server数据库,我这里使用的是SQL Server2008 二.数据库用户配置 1.新建一个登录用户 登录数据库 进入如下界 ...

  7. Java连接sql server数据库实现简单版人力资源系统

    首先展示运行界面及功能(java.数据库代码在后头): 这篇文章中红色字体所代表的的是此人力资源系统的使用顺序. 主界面,选择身份. 先选择进入薪酬专员界面,因为要先定义薪酬标准,为后续人事专员录入员 ...

  8. java连接SQL Server数据库失败学习小结

    文章目录 TCP/IP未启用 SQL Server身份验证错误 用户sa被禁用 TCP/IP未启用 这几天在练习一个java项目在连接数据库时遇到了错误,如下: 于是对错误进行百度,发现是SQLsev ...

  9. JAVA连接SQL Server数据库的端口配置操作步骤

    首先,在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方式.如果在安装时选用了后者,则重新设置如下: http://blog.1 ...

  10. Java 连接 SQL Server 数据库

    //连接数据库public Connection getConnection(){//url为绝对路径String url="jdbc:sqlserver://127.0.0.1:1433; ...

最新文章

  1. Python 调用shell脚本
  2. 信息系统项目管理师-信息系统立项管理核心知识点思维脑图
  3. 雷蛇灯光配置文件_消费降级?不我只是体验灯光,雷蛇萨诺狼蛛V2开箱
  4. Java购物车swing_JAVA课程设计--购物车
  5. Lambda表达式及应用
  6. panda 函数笔记(merge\DataFrame用法\DataFrame.plot)
  7. [JSON].getObj( keyPath )
  8. 4个不错的Flash开源项目
  9. js sdk demo java_微信JS-SDK DEMO页面和示例代码
  10. Java面试题日积月累(jsp/Servlet面试题20道)
  11. QPA(Qt Platform Abstraction)介绍 --------QWS(Qt Window System)介绍
  12. WAP技术与应用(转)
  13. 解决阿里云域名解析失败的问题 - 总结篇
  14. CloudStack使用KVM时设置虚拟实例的CPU型号
  15. 华为Harmony鸿蒙开发笔记十:剪切板
  16. [原创]Fashion汽车定位器拆解
  17. 免费C++库 - Emacser
  18. y(n)=x(n^2)是时不变系统吗?
  19. 用three.js做一个新闻联播开头动画(一)
  20. 学生管理系统---代码实现

热门文章

  1. 客户端渲染(BSR:Browser Side Render)、服务端渲染(SSR:Server Side Render)、搜索引擎优化、SEO(Search Engine Optimization)
  2. php 对比字符串相似度,php计算字符串相似度similar_text
  3. SQL存储过程中“ while (@@fetch_status=0)”是什么意思? fetch Next From into 是什么意思?
  4. SQL SERVER 2005禁用 VIA协议
  5. iOS小白点效果、打地鼠游戏、轮播效果、画板、富文本编辑器等源码
  6. 筋斗云教程(二): 系统分析与设计
  7. 【加密算法】5 种常见的摘要、加密算法
  8. 程序员自虐式杀脑细胞计划
  9. 八个打造平坦小腹部的黄金法
  10. html5在不同电脑排版混乱,关于CSS中overflow属性导致排版错乱的问题