GUI+SQLServer考试系统

2023-10-27

1、概述

1.1、 目的与要求

随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。几乎现在每个人在学习中,都会做大量的题。该课程设计要求设计一个做题的数据管理系统,数据库中包含了用户的基本信息,题库基本信息,以及用户错题集。要方便用户进行做题整理与归纳,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分结合起来。

1.2、设计环境

  1. Microsoft SQL Server 2019
  2. JDK 1.8
  3. IntelliJ IDEA 2021

2、需求分析

2.1、系统功能要求设计

  • 此系统实现如下功能:
    1. 使得用户练习题,整理错题、条理化、自动化。
    2. 通过账号和密码登录系统,管理员增删改查提供以及用户。
    3. 设计人机交换界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制等方面的功能要求。

2.2、系统模块设计

  • 习题练习系统大体可以分成两大模块如,一是管理员模块,里面包含题库和用户的基本信息;再者便是用户模块,在该模块中应该包含查询题库,与错题集的添加。
  • 可以得到系统流程图:
    在这里插入图片描述

2.3、数据字典

  • 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2019 建立“exam”数据库,其基本表清单及表结构描述如下:
  • 数据库中用到的表:
    在这里插入图片描述
  • Usertable 数据表,结构如下:
    在这里插入图片描述
  • Title 数据表,结构如下:
    在这里插入图片描述
  • Error 数据表结构如下:
    在这里插入图片描述

3、概念模型设计

  • 由需求分析的结果可知,本系统设计的实体包括:
    1. 用户:账号,密码,姓名,权限
    2. 题库:题目编号,题目,选项A,选项B,选项C,选项D,选项E,题目类型,答案
    3. 错题集:errorid,写错时间
    4. 管理员可以添加多个题,用户可以答多个题。由上述分析可得到系统的E—R图:
      在这里插入图片描述

4、逻辑和物理结构设计

4.1、由系统E—R图转化而得到的关系模式如下

  1. 用户(userid,姓名,密码,权限)
  2. 题库(topicid,题目,选项A,选项B,选项C,选项D,选项E,题目类型,答案,userid)
  3. 错题集(errorid,写错时间,userid,topicid)

4.2、确定关系模型的存取方法

在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信息进行查询。可对该关系的屆性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。在实际设计中最常用的存取方法是紫引发,使用紫引可以大大减少数据的查询时间,在建立紫引时应遊福:在经常需要搜紫的列上建立紫引:在主关键字上建立紫升;在经常用于连接的列上建立索引,即在外键上建立索引:在经常需要根据范围进行搜索的列上创建索列,因为索引己经排序,其指定的范围是连续的等规则。才能充分利用索引的作用避免因索引引起的负面
作用。

4.3、确定数据库的存储结构

  • 创建用户表:

    CREATE TABLE [dbo].[usertable](
    	[userid] [varchar](10) NOT NULL,
    	[password] [varchar](16) NOT NULL,
    	[name] [varchar](10) NOT NULL,
    	[power] [int] NOT NULL,
     CONSTRAINT [PK_user] PRIMARY KEY CLUSTERED 
    (
    	[userid] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    ALTER TABLE [dbo].[usertable]  WITH CHECK ADD  CONSTRAINT [CK_usertable] CHECK  (([power]=(1) OR [power]=(0)))
    GO
    ALTER TABLE [dbo].[usertable] CHECK CONSTRAINT [CK_usertable]
    GO
    
  • 创建题库表:

    CREATE TABLE [dbo].[title](
    		[topicid] [int] IDENTITY(1,1) NOT NULL,
    		[topic] [varchar](800) NOT NULL,
    		[A] [varchar](800) NOT NULL,
    		[B] [varchar](800) NOT NULL,
    		[C] [varchar](800) NOT NULL,
    		[D] [varchar](800) NOT NULL,
    		[E] [varchar](800) NULL,
    		[type] [char](6) NOT NULL,
    		[value] [varchar](5) NOT NULL,
    		[userid] [varchar](10) NULL,
     CONSTRAINT [PK_title] PRIMARY KEY CLUSTERED 
    (
    		[topicid] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    ALTER TABLE [dbo].[title]  WITH CHECK ADD  CONSTRAINT [FK_title_title] FOREIGN KEY([topicid])
    REFERENCES [dbo].[title] ([topicid])
    GO
    ALTER TABLE [dbo].[title] CHECK CONSTRAINT [FK_title_title]
    GO
    ALTER TABLE [dbo].[title]  WITH CHECK ADD  CONSTRAINT [FK_title_title1] FOREIGN KEY([topicid])
    REFERENCES [dbo].[title] ([topicid])
    GO
    ALTER TABLE [dbo].[title] CHECK CONSTRAINT [FK_title_title1]
    GO
    
    
  • 创建错题表:

    CREATE TABLE [dbo].[error](
    	[errorid] [int] IDENTITY(1,1) NOT NULL,
    	[userid] [varchar](10) NOT NULL,
    	[topicid] [int] NOT NULL,
    	[errortime] [date] NOT NULL,
     CONSTRAINT [PK_error] PRIMARY KEY CLUSTERED 
    (
    	[errorid] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    ALTER TABLE [dbo].[error]  WITH CHECK ADD  CONSTRAINT [FK_error_title] FOREIGN KEY([topicid])
    REFERENCES [dbo].[title] ([topicid])
    GO
    ALTER TABLE [dbo].[error] CHECK CONSTRAINT [FK_error_title]
    GO
    
    ALTER TABLE [dbo].[error]  WITH CHECK ADD  CONSTRAINT [FK_error_usertable] FOREIGN KEY([userid])
    REFERENCES [dbo].[usertable] ([userid])
    GO
    ALTER TABLE [dbo].[error] CHECK CONSTRAINT [FK_error_usertable]
    GO
    
    

5、数据库的实施与维护

  • 此阶段主要任务包括创建数据库,加载初始数据,数据库试运行,数据库的安全性和完整性控制数据库的备份与恢复,数据库性能的监督分析和改仅,数据库的重组和重构等。首先在数据库中建立一个学生成绩管理系统数据库,然后新建一个数据源。主要代码如下:
	import java.sql.*;
	import java.util.ArrayList;
	import java.util.List;
	import java.util.Vector;
	import java.util.concurrent.CopyOnWriteArrayList;
	
	public class ConnectSQLserver {
	    public ConnectSQLserver( ) {
	        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=exam;user=sa;password=123";//sa身份连接
	        Connection con = null;  //会话连接
	        try {
	            //1-注册驱动器,驱动管理器类加载SQLServerDriver类的静态方法,如果没有添加这个驱动,则创建这个驱动
	            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	            System.out.println("驱动加载成功!");
	            //2-与数据源获得连接
	            con = DriverManager.getConnection(url);
	            System.out.println("数据库连接成功!");
	        } catch (Exception e) {
	            e.printStackTrace();
	        } finally {
	            try {
	                con.close();
	            } catch (SQLException throwables) {
	                throwables.printStackTrace();
	            }
	
	        }
	    }
	
	    public User login( String userid, String password ) {
	        User user = new User();
	        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=exam;user=sa;password=123";//sa身份连接
	        Connection con = null;  //会话连接
	        Statement stmt = null;  //用于执行静态SQL语句并返回其生成的结果的对象。
	        ResultSet rs = null;  //数据库结果集的数据表
	        try {
	            //1-注册驱动器,驱动管理器类加载SQLServerDriver类的静态方法,如果没有添加这个驱动,则创建这个驱动
	            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	            System.out.println("驱动加载成功!");
	            //2-与数据源获得连接
	            con = DriverManager.getConnection(url);
	            System.out.println("数据库连接成功!");
	            //3-创建一个Statement对象,用于将SQL语句发送到数据库
	            stmt = con.createStatement();
	            //4- SQL语句
	            String SQL = "SELECT  name,power FROM usertable where userid="
	                    + "'" + userid + "'and password=" + "'" + password + "'";
	            //5-执行SQL,返回数据
	            rs = stmt.executeQuery(SQL);
	            //6-遍历
	            if (rs.next()) {
	                user.setUserid(rs.getString("name"));
	                user.setPower(rs.getString("power"));
	            }
	        } catch (Exception e) {
	            e.printStackTrace();
	        } finally {
	            if (rs != null)
	                try {
	                    rs.close();
	                } catch (Exception e) {
	                }
	            if (stmt != null)
	                try {
	                    stmt.close();
	                } catch (Exception e) {
	                }
	            if (con != null)
	                try {
	                    con.close();
	                } catch (Exception e) {
	                }
	            return user;
	        }
	    }
	
	    public int addexam( String topic, String A, String B, String C, String D, String E, String type, String value ,String userid) {
	        User user = new User();
	        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=exam;user=sa;password=123";//sa身份连接
	        Connection con = null;  //会话连接
	        Statement stmt = null;  //用于执行静态SQL语句并返回其生成的结果的对象。
	        int rs = 0;  //数据执行结果
	        try {
	            //1-注册驱动器,驱动管理器类加载SQLServerDriver类的静态方法,如果没有添加这个驱动,则创建这个驱动
	            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	            System.out.println("驱动加载成功!");
	            //2-与数据源获得连接
	            con = DriverManager.getConnection(url);
	            System.out.println("数据库连接成功!");
	            //3-创建一个Statement对象,用于将SQL语句发送到数据库
	            stmt = con.createStatement();
	            //4- SQL语句
	            String SQL = "insert into title values('" + topic + "','" + A + "','" + B + "','" +
	                    C + "','" + D + "','" + E + "','" + type + "','" + value + "','" +userid+"')";
	            //5-执行SQL,返回数据
	            System.out.println(SQL);
	            rs = stmt.executeUpdate(SQL);
	        } catch (Exception e) {
	            e.printStackTrace();
	        } finally {
	            if (stmt != null)
	                try {
	                    stmt.close();
	                } catch (Exception e) {
	                }
	            if (con != null)
	                try {
	                    con.close();
	                } catch (Exception e) {
	                }
	            return rs;
	        }
	    }
	
	    public Vector[] delExam( ) {
	        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=exam;user=sa;password=123";//sa身份连接
	        Connection con = null;  //会话连接
	        Statement stmt = null;  //用于执行静态SQL语句并返回其生成的结果的对象。
	        ResultSet rs = null;  //数据执行结果
	        Vector rowData, columnNames;
	        columnNames = new Vector();
	        columnNames.add("题目编号");
	        columnNames.add("题目");
	        rowData = new Vector();
	        try {
	            //1-注册驱动器,驱动管理器类加载SQLServerDriver类的静态方法,如果没有添加这个驱动,则创建这个驱动
	            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	            System.out.println("驱动加载成功!");
	            //2-与数据源获得连接
	            con = DriverManager.getConnection(url);
	            System.out.println("数据库连接成功!");
	            //3-创建一个Statement对象,用于将SQL语句发送到数据库
	            stmt = con.createStatement();
	            //4- SQL语句
	            String SQL = "select topicid,topic from title";
	            //5-执行SQL,返回数据
	            rs = stmt.executeQuery(SQL);
	            while (rs.next()) {
	                Vector hang = new Vector();
	                hang.add(rs.getString(1));
	                hang.add(rs.getString(2));
	                rowData.add(hang.clone());
	            }
	        } catch (Exception e) {
	            e.printStackTrace();
	        } finally {
	            if (rs != null)
	                try {
	                    rs.close();
	                } catch (Exception e) {
	                }
	            if (stmt != null)
	                try {
	                    stmt.close();
	                } catch (Exception e) {
	                }
	            if (con != null)
	                try {
	                    con.close();
	                } catch (Exception e) {
	                }
	            Vector[] vectors = {rowData, columnNames};
	            return vectors;
	        }
	    }
	
	    public int bDelExam( int i ) {
	        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=exam;user=sa;password=123";//sa身份连接
	        Connection con = null;  //会话连接
	        Statement stmt = null;  //用于执行静态SQL语句并返回其生成的结果的对象。
	        int rs = 0;  //数据执行结果
	        try {
	            //1-注册驱动器,驱动管理器类加载SQLServerDriver类的静态方法,如果没有添加这个驱动,则创建这个驱动
	            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	            System.out.println("驱动加载成功!");
	            //2-与数据源获得连接
	            con = DriverManager.getConnection(url);
	            System.out.println("数据库连接成功!");
	            //3-创建一个Statement对象,用于将SQL语句发送到数据库
	            stmt = con.createStatement();
	            //4- SQL语句
	            String SQL0 = "delete from title where topicid=" + i;
	            String SQL1 = "delete from error where topicid=" + i;
	            //5-执行SQL,返回数据
	            System.out.println(SQL1);
	            stmt.executeUpdate(SQL1);
	            rs = stmt.executeUpdate(SQL0);
	        } catch (Exception e) {
	            e.printStackTrace();
	        } finally {
	            if (stmt != null)
	                try {
	                    stmt.close();
	                } catch (Exception e) {
	                }
	            if (con != null)
	                try {
	                    con.close();
	                } catch (Exception e) {
	                }
	            return rs;
	        }
	    }
	
	    public int bAltExam( int i ) {
	        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=exam;user=sa;password=123";//sa身份连接
	        Connection con = null;  //会话连接
	        Statement stmt = null;  //用于执行静态SQL语句并返回其生成的结果的对象。
	        ResultSet rs = null;  //数据执行结果
	        int rs1 = 0;
	        try {
	            //1-注册驱动器,驱动管理器类加载SQLServerDriver类的静态方法,如果没有添加这个驱动,则创建这个驱动
	            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	            System.out.println("驱动加载成功!");
	            //2-与数据源获得连接
	            con = DriverManager.getConnection(url);
	            System.out.println("数据库连接成功!");
	            //3-创建一个Statement对象,用于将SQL语句发送到数据库
	            stmt = con.createStatement();
	            //4- SQL语句
	            String SQL = "select topicid from title where topicid=" + i;
	            //5-执行SQL,返回数据
	            rs = stmt.executeQuery(SQL);
	            while (rs.next()) {
	                rs1 = new Integer(rs.getInt(1));
	            }
	        } catch (Exception e) {
	            e.printStackTrace();
	        } finally {
	            if (rs != null) {
	                try {
	                    rs.close();
	                } catch (Exception e) {
	                }
	            }
	            if (stmt != null)
	                try {
	                    stmt.close();
	                } catch (Exception e) {
	                }
	            if (con != null)
	                try {
	                    con.close();
	                } catch (Exception e) {
	                }
	            return rs1;
	        }
	    }
	
	    public int setExam( int topicid, String topic, String A, String B, String C, String D, String E, String type, String value ) {
	        User user = new User();
	        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=exam;user=sa;password=123";//sa身份连接
	        Connection con = null;  //会话连接
	        Statement stmt = null;  //用于执行静态SQL语句并返回其生成的结果的对象。
	        int rs = 0;  //数据执行结果
	        try {
	            //1-注册驱动器,驱动管理器类加载SQLServerDriver类的静态方法,如果没有添加这个驱动,则创建这个驱动
	            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	            System.out.println("驱动加载成功!");
	            //2-与数据源获得连接
	            con = DriverManager.getConnection(url);
	            System.out.println("数据库连接成功!");
	            //3-创建一个Statement对象,用于将SQL语句发送到数据库
	            stmt = con.createStatement();
	            //4- SQL语句
	            String SQL = "update title set topic='" + topic + "',A='" + A + "',B='" + B + "',C='" +
	                    C + "',D='" + D + "',E='" + E + "',type='" + type + "',value='" + value + "'" + "where topicid=" + topicid;
	            //5-执行SQL,返回数据
	            System.out.println(SQL);
	            rs = stmt.executeUpdate(SQL);
	        } catch (Exception e) {
	            e.printStackTrace();
	        } finally {
	            if (stmt != null)
	                try {
	                    stmt.close();
	                } catch (Exception e) {
	                }
	            if (con != null)
	                try {
	                    con.close();
	                } catch (Exception e) {
	                }
	            return rs;
	        }
	    }
	
	    public int addUser( String userid, String password, String name, int power ) {
	        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=exam;user=sa;password=123";//sa身份连接
	        Connection con = null;  //会话连接
	        Statement stmt = null;  //用于执行静态SQL语句并返回其生成的结果的对象。
	        int rs = 0;  //数据执行结果
	        try {
	            //1-注册驱动器,驱动管理器类加载SQLServerDriver类的静态方法,如果没有添加这个驱动,则创建这个驱动
	            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	            System.out.println("驱动加载成功!");
	            //2-与数据源获得连接
	            con = DriverManager.getConnection(url);
	            System.out.println("数据库连接成功!");
	            //3-创建一个Statement对象,用于将SQL语句发送到数据库
	            stmt = con.createStatement();
	            //4- SQL语句
	            String SQL = "insert into usertable(userid,password,name,power) " +
	                    "values('" + userid + "','" + password + "','" + name + "'," +
	                    power  + ")";
	            //5-执行SQL,返回数据
	            System.out.println(SQL);
	            rs = stmt.executeUpdate(SQL);
	        } catch (Exception e) {
	            e.printStackTrace();
	        } finally {
	            if (stmt != null)
	                try {
	                    stmt.close();
	                } catch (Exception e) {
	                }
	            if (con != null)
	                try {
	                    con.close();
	                } catch (Exception e) {
	                }
	            return rs;
	        }
	    }
	
	    public Vector[] delUser( ) {
	        String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=exam;user=sa;password=123";//sa身份连接
	        Connection con = null;  //会话连接
	        Statement stmt = null;  //用于执行静态SQL语句并返回其生成的结果的对象。
	        ResultSet rs = null;  //数据执行结果
	        Vector rowData, columnNames;
	        columnNames = new Vector();
	        columnNames.add("用户账户");
	        columnNames.add("用户姓名");
	        columnNames.add("权限");
	        rowData = new Vector();
	        try {
	            //1-注册驱动器,驱动管理器类加载SQLServerDriver类的静态方法,如果没有添加这个驱动,则创建这个驱动
	            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
	            System.out.println("驱动加载成功!");
	            //2-与数据源获得连接
	            con = DriverManager.getConnection(url);
	            System.out.println("数据库连接成功!");
	            //3-创建一个Statement对象,用于将SQL语句发送到数据库
	            stmt = con.createStatement();
	            //4- SQL语句
	            String SQL = "select userid,name,power from usertable";
	            //5-执行SQL,返回数据
	            rs = stmt.executeQuery(SQL);
	            while (rs.next()) {
	                Vector hang = new Vector();
	                hang.add(rs.getString(1));
	                hang.add(rs.getString(2));
	                hang.add(rs.getString(3));
	                rowData.add(hang.clone());
	            }
	        } catch (Exception e) {
	            e.printStackTrace();
	        } finally {
	            if (rs != null)
	                try {
	                    rs.close();
	                } catch (Exception e) {
	                }
	            if (stmt != null)
	                try {
	                    stmt.close();
	                } catch (Exception e) {
	                }
	            if (con != null)
	                try {
	                    con.close();
	                } catch (Exception e) {
	                }
	            Vector[] vectors = {rowData, columnNames};
	            return vectors;
	        }
	    }
	

5.2、部分操作截图

  1. 下面显示了登录系统进行查询的临时界面:
    在这里插入图片描述
  2. 下面显示了添加题库插入临时界面:
    在这里插入图片描述
  3. 下面显示了添加用户临时插入界面:
    在这里插入图片描述
  4. 下面显示了删除题库界面:
    在这里插入图片描述
  5. 下面显示了做题,查询界面:
    在这里插入图片描述

6、源码获取地址

考试系统源码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GUI+SQLServer考试系统 的相关文章

  • 获取下一个ID而不插入行

    在 SQL SQL Server 中是否可以在插入行之前从表中的标识列检索下一个 ID 整数 而无需实际插入行 如果删除了最近的行 则这不一定是最高 ID 加 1 我问这个问题是因为我们偶尔需要用新行更新实时数据库 行的 ID 在我们的代码
  • 如何列出表中的所有列?

    对于各种流行的数据库系统 如何列出表中的所有列 对于 MySQL 请使用 DESCRIBE name of table 只要您使用 SQL Plus 或 Oracle 的 SQL Developer 这也适用于 Oracle
  • SQL:将一个表中的所有记录插入到另一表中,而不指定列

    我想将备份表 foo bk 中的所有记录插入到 foot 表中 而不指定特定的列 如果我尝试这个查询 INSERT INTO foo SELECT FROM foo bk 我会收到错误 插入错误 列名称或提供的值的数量与表定义不匹配 是否可
  • 有很多数据库视图可以吗?

    我很少 每月 每季度 使用 Microsoft SQL Server 2005 数据库视图生成数百份 Crystal Reports 报告 在我不读取这些视图的所有时间里 这些视图是否会浪费 CPU 周期和 RAM 因为我很少从视图中读取数
  • 如何将字符串解析为 UNIQUEIDENTIFIER?

    我正在编写一个实体框架 LINQ 查询 其中我想将字符串解析为 UNIQUEIDENTIFIER 又名 GUID 作为WHERE clause public IEnumerable
  • 关于多客户端和可定制 Web 应用程序的架构所需的建议[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 获取一组记录之间的时间差

    我有一个具有以下结构的表 ID ActivityTime Status 19 2013 08 23 14 52 1 19 2013 08 23 14 50 1 19 2013 08 23 14 45 2 19 2013 08 23 14 3
  • 从每个子集中选择最大值

    我在这里敲头 我觉得自己很愚蠢 因为我确信我以前做过类似的事情 但我一辈子都不记得是怎么做的 我想那一天 gt 假设我有以下数据 gt 和一个返回此数据的查询 gt 但我想要这个 ID FirstID ID FirstID ID First
  • 如何使用 R 中的函数 sqlSave() 将数据附加到具有 IDENTITY 主键的 SQL Server 表?

    我在SQL Server中创建了一个表 如下所示 CREATE TABLE testPK ID INT NOT NULL IDENTITY 1 1 PRIMARY KEY NumVal NUMERIC 18 4 现在我想使用 RODBC 函
  • 如何使用 django-pyodbc (ubuntu 16.04) 配置数据库设置 Django-MSSQL?

    我是 Django 新手 目前正在尝试使用另一个数据库来保存我的模型 即MS SQL 我的数据库部署在docker容器中 903876e64b67 microsoft mssql server linux bin sh c opt mssq
  • SQL Server Management Studio v18 的命令行参数登录

    使用 SQL Server 身份验证时是否仍然可以从命令行打开 SQL Server Management Studio v18 根据微软的发行说明 由于安全风险 他们删除了 P 命令行参数 因此 可以从命令行使用 SQL Server 身
  • 每行中非空列的计数

    我有一个包含 4 列的表 在第 5 列中我想存储前 4 列中有多少个非空列的计数 例如 其中 X 是任意值 Column1 Column2 Column3 Column4 Count X X NULL X 3 NULL NULL X X 2
  • 在 azure Devops 管道中部署 SQL 时遇到错误

    我在 azure Devops 的发布管道中使用 sql DACPAC 类型的部署 但出现以下错误 我对 SQL 不了解 有什么建议吗 Publishing to database database name on server Serve
  • sql server 2008 对 exec 语句的限制

    我只需要仔细检查 t sql 中的 EXEC 命令是否有字符限制 如果我有一个带有 varchar max 的变量并使用 EXEC 执行命令 你认为这样可以吗 thanks 应该没问题 根据这篇 MSDN 文章 http msdn micr
  • 将图像列保存到 SQL Server 2000 中的文件

    我在 SQL Server 2000 中有一个包含图像列的表 我需要将图像数据保存到文件系统上的文件中 在 SQL Server 2005 中 我可以使用 ADODB Stream 对象进行文件 I O 但这在 SQL Server 200
  • 让 Hibernate 和 SQL Server 与 VARCHAR 和 NVARCHAR 良好配合

    我目前正在大型数据库的某些表中启用 UTF 8 字符 这些表已经是 MS SQL 类型 NVARCHAR 此外 我还有几个使用 VARCHAR 的字段 Hibernate 与 JDBC 驱动程序的交互存在一个众所周知的问题 例如 参见在 h
  • Docker 中的 Web api 无法连接到主机上的 SQL Server,并出现登录前握手错误

    首先有一些类似的问题 但我已经尝试了我能找到的所有建议 但似乎没有任何效果 如果你能找到我没有提到的 请评论 我会尝试一下 概要是我正在尝试将 Docker 容器中的 NET Core 3 1 Web api 连接到主机上的 SQL Ser
  • 如何进行数据透视并计算列平均值

    我承认这是迄今为止我必须面对的最复杂的 SQL 语句之一 我在这件事上碰壁了 我希望有人能帮我一把 我在数据库中有这张表 Item ActiveTime sec DateTime 1 10 2013 06 03 17 34 22 gt Mo
  • TSQL - 生成文字浮点值

    我理解比较浮点数时遇到的许多问题 并对它们在这种情况下的使用感到遗憾 但我不是表格作者 只有一个小障碍需要克服 有人决定使用浮点数 就像您期望使用 GUID 一样 我需要检索具有特定浮点值的所有记录 sp help MyTable Colu
  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name

随机推荐

  • Bash while 循环

    循环是编程语言的基本概念之一 当您想要多次运行一系列命令直到满足特定条件时 循环会很方便 在 Bash 等脚本语言中 循环对于自动执行重复任务非常有用 Bash 脚本中有三种基本的循环结构 for loop while循环 并且直到循环 本
  • 在 Python 中解析 JSON 数据

    JSON 是一种人类可读的基于文本的数据格式 它与语言无关 用于应用程序之间的数据交换 在本文中 我们将解释如何在 Python 中解析 JSON 数据 Python JSON The json允许您对 JSON 数据进行编码和解码的模块是
  • 如何在 CentOS 7 上安装 Google Chrome 网络浏览器

    谷歌浏览器是世界上使用最广泛的网络浏览器 它是专为现代网络构建的快速 易于使用且安全的浏览器 Chrome 不是开源浏览器 也不包含在 CentOS 存储库中 它是基于Chromium 一个开源浏览器 可在EPEL 存储库 本教程介绍如何在
  • Bash 中断并继续

    循环允许您多次运行一个或多个命令 直到满足特定条件 但是 有时您可能需要更改循环流程并终止循环或仅终止当前迭代 在巴什中 break and continue语句允许您控制循环执行 Bash break陈述 The break语句终止当前循
  • 如何在 Ubuntu 18.04 上安装和使用 FFmpeg

    FFmpeg 是一个免费的开源命令行工具 用于对多媒体文件进行转码 它包含一组共享的音频和视频库 例如libavcodec libavformat和libavutil 使用 FFmpeg 您可以在各种视频和音频格式之间进行转换 设置采样率以
  • 如何在 Ubuntu 20.04 上安装 Webmin

    Webmin 是一个用于管理 Linux 服务器的开源 Web 控制面板 它允许您管理系统用户 组 磁盘配额以及安装和配置 Web ssh ftp 电子邮件和数据库服务器 With Webmin 您可以通过网络浏览器配置系统的几乎每个方面
  • Linux 中的 Wc 命令(统计行数、字数和字符数)

    在 Linux 和类 Unix 操作系统上 wc命令允许您计算每个给定文件或标准输入的行数 字数 字符数和字节数并打印结果 在本教程中 我们将向您展示如何使用wc通过简单实用的例子进行指挥 如何使用wc命令 语法为wc命令如下 wc OPT
  • 如何在 Ubuntu 20.04 上安装 Python 3.9

    Python 是世界上最流行的编程语言之一 它是一种多功能语言 用于构建各种应用程序 从简单的脚本到复杂的机器学习算法 凭借其简单易学的语法 Python 成为初学者和经验丰富的开发人员的热门选择 Python 3 9 是 Python 语
  • 如何修复 WordPress 白屏死机

    如果您有 WordPress 网站 则其中之一最常见的错误您可能会遇到白屏死机 WSOD 然而 经历它可能会很可怕 因为您可能想知道 WSOD 的根本原因 并且不知道下一步 WSOD 可能有多种可能的原因 确定它们并不容易 特别是如果您不熟
  • 如何在 CentOS 7 上安装 Go

    Go 通常称为 golang 是由 Google 创建的现代开源编程语言 许多流行的应用程序 包括 Kubernetes Docker Hugo 和 Caddy 都是用 Go 编写的 在本教程中 我们将向您展示如何在 CentOS 7 系统
  • 如何在 Ubuntu 18.04 上安装 VirtualBox

    虚拟盒子是一款开源跨平台虚拟化软件 允许您同时运行多个来宾操作系统 虚拟机 在本教程中 我们将向您展示如何在 Ubuntu 18 04 计算机上安装 VirtualBox 的两种不同方法 第一种方法描述了从 Oracle 存储库安装 Vir
  • 转化为布尔值的规则

    对于基本类型的数据 null和undefined直接转化为false 字符串 空字符串转化为false 其他全为true 数字 0和NaN转化为false 其他全为true 对于引用类型数据 全为true 所以 的结果是true 分析 中
  • 电脑数据恢复,哪种方法靠谱?

    信息化时代 电脑的需求增加了 那么很多的数据都会保存在电脑上面 万一数据丢失了 那么有什么办法能恢复呢 要想恢复电脑里面丢失的数据 也不是没有办法找回的 可以借助专业的数据恢复软件EasyRecovery进行恢复 访问http wm mak
  • 【Linux】配置网络和firewall防火墙(超详细介绍+实战)

    Liunx学习记录篇 篇一 Linux VMware安装unbuntu18 04虚拟机 超详细步骤 附镜像文件 篇二 Linux ubuntu18 04系统基础配置及操作 篇三 Linux 用户与组的操作详细介绍 篇四 Linux 管理Li
  • 彻底搞懂==和equals的区别

    概述 一提 和equals的区别很多人就会说前者是比较地址 即是否是同一个对象 而equals则是比较对象的内容是否一样 其实这是太正确的 接下来仔细分析这俩者的区别 文章目录 1 基本数据类型存储的位置 2 3 为什么所有的java类都是
  • 结构体成员内存对齐规则

    关于结构体成员内存对齐 主要有以下三方面原则 原则1 结构体中元素是按照定义顺序一个一个放到内存中去的 但并不是 紧密排列的 从结构体存储的首地址开始 每一个元素放置到内存中时 它都 会认为内存是以它自己的大小来划分的 因此元素放置的位置一
  • 爬虫中的异常处理

    URLError和HTTPError HTTPError类是URLError类的子类 导入包 import urllib error http 错误是针对浏览器无法连接到服务器而增加的错误提示 引导并告诉浏览者该页是哪里出现了问题 通过ur
  • Springboot + elementUI实现上传用户头像

    最近一直在做一个背单词的小项目练手 准备着加入个新功能 想了很多种办法 本来准备利用sm ms图床 把用户头像上传到图床然后返回链接把链接存到数据库里 后来想了想 感觉用户的头像存在那不太好 于是还是决定把用户头像存储在项目里的一个文件夹好
  • 【图像去模糊2】SRN-DeblurNet论文笔记

    一 论文概述 本论文中 作者研究了图像去模糊中的 coarse to fine 方案并提出了一个尺度循环网络 SRN DeblurNet 用于图像去模糊任务 该网络具有更简单的网络结构 更少的参数数量并且更容易训练 二 论文的提出背景 图像
  • GUI+SQLServer考试系统

    文章目录 1 概述 1 1 目的与要求 1 2 设计环境 2 需求分析 2 1 系统功能要求设计 2 2 系统模块设计 2 3 数据字典 3 概念模型设计 4 逻辑和物理结构设计 4 1 由系统E R图转化而得到的关系模式如下 4 2 确定