📄 productsearchmenu.java
字号:
/**
* (c)北大青鸟APTECH
* 版权所有
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
/**
* 这个类使用 Prepared Statement 搜索记录.
* @version 1.0, 2005 年 6 月 15 日
* @author Michael
*/
class SearchDisplayProduct {
/** 声明一个 statement 对象.*/
private ResultSet rs;
/** 声明一个 string 变量.*/
private String strTemp, strSql;
/** 声明一个 PreparedStatement 对象.*/
private PreparedStatement pst;
/** 声明一个 int 变量.*/
private int qty;
/** 声明一个 BufferedReader 对象.*/
private BufferedReader bufferObj;
/** 声明一个 connection 变量.*/
private Connection con;
/** 声明一个 string 变量以容纳 URL.*/
private String url;
/** 声明一个 string 变量以存储 serverName.*/
private String serverName;
/** 声明一个 string 变量以容纳端口号.*/
private String portNumber;
/** 声明一个 string 变量以存储数据库名称.*/
private String databaseName;
/** 声明一个 string 变量以存储用户名称.*/
private String userName;
/** 声明一个 string 变量以存储密码.*/
private String password;
/**
* 构造方法.
*/
public SearchDisplayProduct() {
bufferObj = new BufferedReader(new InputStreamReader(System.in));
con = getConnection();
}
/** 初始化变量的方法.
* @return String 值
*/
private String getConnectionUrl() {
url = "jdbc:microsoft:sqlserver://";
serverName = "127.0.0.1";
portNumber = "1433";
databaseName = "test";
userName = "sa";
password = "sa";
return url + serverName + ":" + portNumber
+ ";databaseName=" + databaseName + ";";
}
/** 建立连接的方法.
* @return Connection 对象
*/
private java.sql.Connection getConnection() {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = java.sql.DriverManager.getConnection(getConnectionUrl(),
userName, password);
if (con != null) {
System.out.println("连接成功!");
}
}
catch (Exception e) {
e.printStackTrace();
}
return con;
}
/** 搜索特定产品代码的方法.
* @throws IOException 对象
*/
void search() throws IOException {
String productCodeObj = "";
System.out.print("\n请输入产品代码: ");
productCodeObj = bufferObj.readLine();
try {
strSql = "Select * from Product where ProductCode like ?";
pst = con.prepareStatement(strSql,
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
productCodeObj = "%" + productCodeObj + "%";
pst.setString(1, productCodeObj);
rs = pst.executeQuery();
while (rs.next()) {
strTemp = rs.getString("ProductName");
qty = rs.getInt("Quantity");
System.out.println("产品名称: " + strTemp);
System.out.println("数量" + qty);
}
}
catch (SQLException ce) {
System.out.println(ce);
}
}
/** 根据数量进行搜索.
* @throws IOException 对象
*/
void searchAll() throws IOException {
int quantityObj = 0;
System.out.print("\n请输入数量: ");
quantityObj = Integer.parseInt(bufferObj.readLine());
System.out.println("\n根据数量"
+ "搜索产品......");
System.out.println();
try {
strSql = "select * from product where Quantity > ? ";
pst = con.prepareStatement(strSql);
pst.setInt(1, quantityObj);
rs = pst.executeQuery();
while (rs.next()) {
System.out.println("产品代码: " + rs.getString(1));
System.out.println("产品名称: " + rs.getString(2));
System.out.println("数量: " + rs.getInt(3));
System.out.println();
}
}
catch (SQLException ce) {
System.out.println(ce.getMessage());
}
}
/** 显示菜单.
* @throws IOException 对象
*/
public void menuDisplay() throws IOException {
char choice;
while (true) {
System.out.println();
System.out.println("1.根据产品代码进行搜索");
System.out.println("2.根据数量进行搜索");
System.out.println("3.退出\n\n");
System.out.print("请输入您的选择...: ");
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
choice = (char) br.read();
switch (choice) {
case '1':
System.out.println("\n正在搜索"
+ "特定产品......");
search();
break;
case '2':
System.out.println();
searchAll();
break;
case '3':
System.exit(0);
break;
default:
System.out.println("\n请输入有效编号\n");
break;
}
}
}
}
/**
* 测试 SearchDisplayProduct 类.
* @version 1.0, 2005 年 5 月 20 日
* @author Michael
*/
class ProductSearchMenu {
/**
* 构造方法.
*/
protected ProductSearchMenu() {
}
/**
* 这是执行任何应用程序的起始点.
* @param args 被传递至 main 方法
* @throws IOException 对象
*/
public static void main(String[] args) throws IOException {
SearchDisplayProduct searchObj = new SearchDisplayProduct();
searchObj.menuDisplay();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -