数据库JDBC 查询sqlserver 2019 利用模板实现输入查询

数据源

 SQLserver2019的数据,在数据库 名为 cyz 中创建几个表

create table book
(bno char(10) primary key,
cno char(10),
bname char(20),
bauthor char(20),
bpress varchar(50),
bprice decimal(8,2)
)

create table reader
(rno char(10) primary key,
rdepartment char(20),
rname char(20),
rsex char(2),
rtitle char(10),
raddress varchar(50)
)

create table borrow
(rno char(10),
bno char(10),
rbdate datetime,
primary key(rno,bno,rbdate),
foreign key(bno) references book(bno),
foreign key(rno) references reader(rno)
)

insert into book values('445504','TP3/12','数据库系统原理','王浩','科学出版社',19.9)
insert into book values('445502','TP3/12','数据库实践','王强','科学出版社',17.9)
insert into book values('445503','TP3/12','数据库系统','王强','科学出版社',17.9)
insert into book values('332211','TP5/10','计算机基础','李伟','高等教育出版社',18.00)
insert into book values('112266','TP3/12','FoxBASE','张三','电子工业出版社',23.6)
insert into book values('665544','TS7/21','高等数学','刘明','高等教育出版社',20.00)
insert into book values('114455','TR9/12','线性代数','孙业','北京大学出版社',20.80)
insert into book values('113388','TR7/90','大学英语','胡玲','清华大学出版社',12.5)
insert into book values('446601','TP4/13','数据库基础','马凌云','人民邮电出版社',22.5)
insert into book values('446602','TP4/13','数据库基础','马凌云','人民邮电出版社',22.5)
insert into book values('446603','TP4/13','数据库基础','马凌云','人民邮电出版社',22.5)
insert into book values('449901','TP4/14','FoxPro大全','周虹','科学出版社',32.7)
insert into book values('449902','TP4/14','FoxPro大全','周虹','科学出版社',32.7)
insert into book values('118801','TP4/15','计算机网络','黄力钧','高等教育出版社',21.8)
insert into book values('118802','TP4/15','计算机网络','黄力钧','高等教育出版社',21.8)


insert into reader values('111','信息系','王维利','女','教授','1号楼424')
insert into reader values('112','财会系','李立','男','副教授','2号楼316')
insert into reader values('113','经济系','张三','男','讲师','3号楼105')
insert into reader values('114','信息系','周华发','男','讲师','1号楼316')
insert into reader values('115','信息系','赵正义','男','工程师','1号楼224')
insert into reader values('116','信息系','李明','男','副教授','1号楼318')
insert into reader values('117','计算机系','李小峰','男','助教','1号楼214')
insert into reader values('118','计算机系','许鹏飞','男','助工','1号楼216')
insert into reader values('119','计算机系','刘大龙','男','教授','1号楼318')
insert into reader values('120','国际贸易','李雪','男','副教授','4号楼506')
insert into reader values('121','国际贸易','李爽','女','讲师','4号楼510')
insert into reader values('122','国际贸易','王纯','女','讲师','4号楼512')
insert into reader values('123','财会系','沈小霞','女','助教','2号楼202')
insert into reader values('124','财会系','朱海','男','讲师','2号楼210')
insert into reader values('125','财会系','马英明','男','副教授','2号楼212')


insert into borrow values('112','445502','2017-3-19')
insert into borrow values('111','332211','2017-2-12')
insert into borrow values('111','445502','2017-8-21')
insert into borrow values('112','332211','2017-3-14')
insert into borrow values('112','665544','2017-3-14')
insert into borrow values('114','665544','2018-10-21')
insert into borrow values('120','114455','2018-11-2')
insert into borrow values('120','118801','2018-10-18')
insert into borrow values('119','446603','2018-12-12')
insert into borrow values('113','445502','2019-10-23')
insert into borrow values('115','449902','2019-8-21')
insert into borrow values('118','118801','2019-9-10')

JAVA eclipse  

package our2233;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

import com.microsoft.sqlserver.jdbc.ISQLServerPreparedStatement;
import java.sql.PreparedStatement;



public class Slink {
	public static void main(String[] args) {
		
		
		Scanner scanner=new Scanner(System.in);
		
		String choose = scanner.next();
//		
		System.out.println(choose);
		
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			Connection con =DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=cyz;encrypt=true;trustServerCertificate=true","sa","sa");
			System.out.println("数据库链接成功\n");
			
			Statement stmt = con.createStatement();
//			ResultSet rs = stmt.executeQuery("use cyz SELECT bno, rbdate FROM borrow WHERE bno = 332211 ");
			
			
            String sql="select * from borrow where bno=?";
            
            PreparedStatement pst=con.prepareStatement(sql);
            pst.setString(1,choose);
            ResultSet rsv2=pst.executeQuery();
			
//			? 问号被设定为参数
//			String sql="SELECT bno,rbdate FROM borrow WHERE bno =?";
//			设定为模板,其中(ISQLServerPreparedStatement) 是强制类型转换
//            ISQLServerPreparedStatement pst=(ISQLServerPreparedStatement) con.prepareStatement(sql);
//            pst.setString(1,"332211");
//            第一个问号替换为字符串choose
//            pst.setString(1,choose);
//           执行查询
//            ResultSet rsv2=pst.executeQuery();
//			
            
            while(rsv2.next()) {
				System.out.println(rsv2.getString("bno")+"\t"+rsv2.getString("rbdate")+"\t");
			}
//            while(rsv2.next()) {
//				System.out.println(rsv2.getString("bno")+"\t"+rsv2.getString("rbdate")+"\t");
//			}
			
//			while(rs.next()) {
//				System.out.println(rs.getString("bno")+"\t"+rs.getString("rbdate")+"\t");
//			}
			System.out.println("读取完毕");
			stmt.close();
			con.close();
		}
		catch(ClassNotFoundException e) {
			System.out.println("驱动找不到");
			e.printStackTrace();
		}catch(SQLException e) {
			System.out.println("数据库链接不成功");
			e.printStackTrace();
		}
//		try { 
//			 //加载数据驱动
//			Class.forName ("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//			Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=cyz;encrypt=true;trustServerCertificate=true","sa","sa");//库名,用户名,密码
//			System.out.println("连接成功");
//			
//			Statement stmt = con.createStatement();// 创建SQL命令对象
//			ResultSet rs = stmt.executeQuery("SELECT * FROM borrow");// 返回SQL语句查询结果集(集合)   表名
//			// 循环输出每一条记录
//			while (rs.next()) {
//	              // 输出每个字段
//	              System.out.println(rs.getString("bno") + "\t" + rs.getString("bno")+rs.getString("rbdate"));
//			}
//	          System.out.println("读取完毕");
//	          // 关闭连接
//	          stmt.close();// 关闭命令对象连接
//	          con.close();// 关闭数据库连接
//	          
//		} catch (ClassNotFoundException e) {
//			System.out.println("驱动找不到");
//			e.printStackTrace();
//		}catch (SQLException e) {
//			System.out.println("数据库连接不成功");
//			e.printStackTrace();
//		}
	}
//    参考链接        
//原文链接:https://blog.csdn.net/qq_46110556/article/details/116765473

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/680374.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java中如何灵活使用mysql中的json类型字段存储数据

日常数据库存储数据时经常会碰见一对多的数据结构类型,例如一笔订单中包含多个商品数据,一般情况下,可能会设计一个order表,一个sku表,但如果就想用一个表去存储这些订单和商品数据,那么应该如何去设计order表呢?这种情况下就可以使用万能json类型字段进行存储订单与商品一对多…

产品经理的“高光”时刻,你中了几个?

作为产品经理,都有着这样一个闪闪发光的梦,就是看着自己的产品从0到DAU过万、过十万,甚至是过百万。 不过想要成为过百万的大牛,天时地利任何一个都不能少,大多数的产品经理暂时还在打怪升级攒经验。 虽然暂时体验不…

怎么用微信小程序实现远程控制空调

怎么用微信小程序实现远程控制空调呢? 本文描述了使用微信小程序调用HTTP接口,实现控制空调,通过不同规格的通断器,来控制不同功率的空调的电源。 可选用产品:可根据实际场景需求,选择对应的规格 序号设备…

第二证券炒股技巧:短线炒股技巧?

在股票商场上,出资者分为长线和短线这两大类,其间短线炒股存在以下技巧: 1、早盘集合竞价时间上的技巧 早上集合竞价对短线出资者来说比较重要,其间早上集合竞价期间9:15-9:20之间出资者能够进行撤单操作&#xff0c…

AI大模型应用开发实践:5.快速入门 Assistants API

快速入门 Assistants API Assistants API 允许您在自己的应用程序中构建人工智能助手。一个助手有其指令,并可以利用模型、工具和知识来回应用户查询。 Assistants API 目前支持三种类型的工具: 代码解释器 Code Interpreter检索 Retrieval函数调用 Function calling使用 P…

电源modbus 485 测试方法之功能选择

目录 背景介绍 错误分析 功能开关拨码原因分析 背景介绍 在正常测试modbus-RTU 485通信是否正常时,正常的流程如下: 连接电源模块与摄像仪模块的485连接线,或使用USB转485连接电脑,打开串口调试助手,开始访问寄存…

线性代数|机器学习-P6正定和半正定矩阵

文章目录 1. 正定矩阵的判定标准2. 非正定矩阵3. 能量方程3. 正定方程4. 半正定矩阵 1. 正定矩阵的判定标准 目前我们有 5 种方法判断矩阵是否为正定矩阵: 所有的特征值大于零: λ i > 0 \lambda_i>0 λi​>0对于所有的非零向量x,…

微信小程序-WXS脚本

一、概述 1.WXS WXS(WeiXin Script)是小程序独有的一套脚本语言,结合 WXML,可以构建出页面的结构。 2.wxs 的应用场景 wxml中无法调用在页面的.js 中定义的函数,但是,wxml 中可以调用 wxs 中定义的函数。因此,小程序…

13. 一个天文望远镜R-C系统的设计

导论: 要求主口径2160mm,整个系统的相对孔径为1:1(相对孔径:镜头的有效孔径和焦距之比)。系统的焦距为19440mm,焦点需引出主镜之后,以便配接各种光谱和光度观测设备。 设计流程: (1)理论分析与计算 望远镜的两镜系统由一个主镜和一个次镜组成,通常主镜和次镜都是…

文本纠错助手

欢迎来到高效文本纠错的世界! 文本纠错助手 是您的最佳搭档,专为处理各种文本中的错误而生。在我们强大的 Intel G8i 处理器上,它能快速、准确地帮你找出并纠正错误。下面是这款神器的详细介绍。 硬件配置 处理器:Intel G8i 处理…

Adobe XD最新版号查询,如何使用?

Adobe XD是Adobe家推出的基于矢量的原型设计合作工具,被业界视为应对Sketch的“对抗”产品。Adobe XD不同于Sketch的系统限制,灵活性比较高,Windows和Mac都可以使用。自2017年推出以来,Adobe XD版经历了多次更新,这篇文…

vue3之拆若依--记实现后台管理首页(左侧菜单栏、头部信息区域...)

效果图 前期准备 启动若依在本地 启动若依后台,跑在自己本地: 这里对于如何下载若依相关的前后端代码请参考若依官网:RuoYi 若依官方网站 |后台管理系统|权限管理系统|快速开发框架|企业管理系统|开源框架|微服务框架|前后端分离框架|开源后台系统|RuoYi|RuoYi-Vue|RuoYi-…

03--nginx架构实战

前言:这应该是nginx梳理的最后一章,写一些关于网站架构和网站上线的知识内容,主要是感觉到运维并不是单一方向的行业,这一章概念会有一些广泛,但是非常重要,都是这几年工作中遇到的情况,整理一下…

element-plus表格添加简单右键

实现如下 <template><main class"mainClass" > <el-table :data"tableData" style"width: 100%"row-contextmenu"rowContextmenu"cell-contextmenu"cellContextmenu"contextmenu.prevent><el-table-c…

C51学习归纳4 --- 矩阵键盘

一、开发板原理图 我们可以看到这个键盘是4*4的&#xff0c;行可以由4个数据接口接收&#xff08;P1_4~7&#xff09;&#xff0c;列可以由4个数据接口接收&#xff08;P1_0~3)。 所以我们可让行作为扫描方向&#xff0c;或者列作为扫描方向&#xff0c;进行按键扫描。如何扫描…

AI 入门指南二 :AI提示词(Prompt)

一&#xff0c;提示词的定义 提示词在中文中意为“触发”&#xff0c;在自然语言处理&#xff08;NLP&#xff09;的领域&#xff0c;它更接近于一个“心领神会”的概念&#xff0c;而非具有明确定义的术语。 简而言之&#xff0c;提示词是用户对大型语言模型的输入&#xff0…

氘化铝锂产品附加值高 市场需求将继续增长

氘化铝锂产品附加值高 市场需求将继续增长 氘化铝锂&#xff08;LiAlD4&#xff09;是一种还原性非常强的氢同位素铝-氘化合复合物&#xff0c;常温常压下为灰色固体粉末&#xff0c;是四氢锂铝中被氘原子取代的衍生物。在锂电池领域&#xff0c;氘化铝锂可以添加到正极材料中&…

专业好用的屏幕捕获工具

一、简介 1、一款功能全面、操作简便的屏幕捕获工具,它不仅支持常规的截屏功能,还包括了录屏、OCR文字识别、翻译、GIF制作等多项实用功能。该软件适用于Windows操作系统,旨在为用户提供一站式的屏幕捕捉解决方案 二、下载 1、下载地址: 官网链接:https://verycapture.com…

Sqli-labs-maste靶场的下载、配置

目录 下载 配置 配置数据库 配置网站 初始化靶场 下载 GitHub下载地址&#xff1a; 百度网盘&#xff1a;https://pan.baidu.com/s/1jBcKkLzRV8q72rx_0AcznA?pwdxrsc 提取码&#xff1a;xrsc 迅雷链接&#xff1a;https://pan.xunlei.com/s/VNzC0-XAVysQYz4HufgYYze4A…

php质量工具系列之phpmd

PHPMD PHP Mess Detector 它是PHP Depend的一个衍生项目&#xff0c;用于测量的原始指标。 PHPMD所做的是&#xff0c;扫描项目中可能出现的问题如&#xff1a; 可能的bug次优码过于复杂的表达式未使用的参数、方法、属性 PHPMD是一个成熟的项目&#xff0c;它提供了一组不同的…