学生表S(SNO,SNAME,SSEX,SAGE,SADDR)
要求:使用嵌入SQL对数据库进行单表精确查询、模糊查询
主语言:Java
平台:Eclipse
DBMS:SQL SERVER 2019
运行说明:
(1)下载JDBC,配置路径。
(2)在SQL SERVER的配置管理器中启用TCP/IP连接服务,找到IP地址为127.0.0.1,设置端口号为1433并启用。如下图。
(3)在SQL SERVER中设置用户名和密码,在服务器属性中设置身份验证方式为SQL SERVER和Windows身份验证模式。
与ODBC相比,JDBC方式可实现跨平台移植,适用范围广。Java连接SQL SERVER的方法不止一种,在这个程序中我们仅用一种方式进行连接。程序比较简单,由于之前没有接触过JDBC,所以有很多语法方面的知识都要重新学习。
executeQuery、executeUpdate、execute 的区别:
(1)executeQuery用于产生单个结果集(ResultSet)的语句,用于SELECT语句,返回代表查询结果的ResultSet对象。
(2)executeUpdate用于执行 INSERT、UPDATE 或 DELETE 语句以及 DDL语句,返回值是一个整数(int),指示受影响的行数。
(3)execute 可用于执行任何SQL语句,返回一个bool值
功能实现界面如下:
(1)模糊查询:
(2)精确查询:
完整代码如下:
在这里插入代码片
import java.sql.*;
import java.util.Scanner;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class test1207 {
static String JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";// SQL数据库引擎
static String connectDB = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=嵌入式SQL语言实验";// 数据源
static String user = "sa";//用户名
static String password = "your password";//用户密码
/*初始化数据函数*/
public static void insert(Statement stmt) throws SQLException {
try {
System.out.println("开始初始化数据");
String a1 = "INSERT INTO S VALUES('180400001','金小兵','男',21,'威海')"
+"INSERT INTO S VALUES('180400002','李旺旺','男',21,'杭州')"
+"INSERT INTO S VALUES('180400003','刘潇','女',20,'威海')"
+"INSERT INTO S VALUES('180400003','王波','男',18,'洛阳')"
+"INSERT INTO S VALUES('180400004','陈吉吉','女',20,'海门')";// 初始化数据SQL语句
stmt.executeUpdate(a1);// 执行SQL命令对象
System.out.println("初始化数据成功");
}catch(SQLException e) {
e.printStackTrace();
System.out.println("初始化错误");
}
}
/*执行查询操作函数*/
final public