SQL部分:

drop table yonghu, shangpin,dingdanxiangqing,sp_Type

drop table shangpin

select * from yonghu;

select * from shangpin;

select * from sp_Type;

create table yonghu(--创建用户表

yh_ID int primary key identity(1,1),

yh_Uname varchar(30) not null,

yh_Pwd varchar(30) not null,

yh_Name varchar(30) not null,

yh_Age int,

yh_Sex varchar(20),

yh_Phone varchar(100),

yh_Address varchar(200),

yh_Jieshao varchar(500),

yh_Q varchar(500),

yh_AQ varchar(500)

);

insert into yonghu values('1','11','诗书画唱1',21,'男','19999999999','江西','阳光帅气的男孩子','你爱好多吗?','多');

insert into yonghu values('2','22','诗书画唱2',22,'男','29999999999','北京','阳光帅气的男孩子','你看过的书多吗?','多');

insert into yonghu values('3','33','诗书画唱3',23,'男','39999999999','上海','阳光帅气的男孩子','你会的技能多吗?','多');

insert into yonghu values('4','44','诗书画唱4',24,'男','49999999999','湖南','阳光帅气的男孩子','你喜欢的动漫吗?','多');

insert into yonghu values('5','55','诗书画唱5',25,'男','59999999999','浙江','阳光帅气的男孩子','你喜欢的歌曲多吗?','多');

create table sp_Type(--商品类型表

sp_TypeID int primary key identity(1,1),

sp_TypeName varchar(100) not null

);

insert into sp_Type values('水果');

insert into sp_Type values('零食');

insert into sp_Type values('小吃');

insert into sp_Type values('日常用品');

create table shangpin(--商品表

sp_ID int primary key identity(1,1),

sp_Name varchar(100) not null,

sp_Price decimal(10,2) not null,

sp_TypeID int,

sp_Jieshao varchar(300)

);

insert into shangpin values('苹果',12,1,'好吃的苹果');

insert into shangpin values('香蕉',2,1,'好吃的香蕉');

insert into shangpin values('橘子',4,1,'好吃的橘子');

insert into shangpin values('娃哈哈',3,2,'好吃营养好');

insert into shangpin values('牙刷',5,4,'全自动牙刷');

drop table dingdan

create table dingdan(

dingdan_ID int primary key identity(1,1),

yh_ID int,

dingdanxiangqing_ID int

)

insert into dingdan values(1,1);

insert into dingdan values(1,2);

insert into dingdan values(1,3);

insert into dingdan values(2,4);

insert into dingdan values(2,5);

insert into dingdan values(2,6);

insert into dingdan values(3,7);

create table dingdanxiangqing(

dingdanxiangqing_ID int primary key identity(1,1),

sp_ID int,

sp_num int

)

insert into dingdanxiangqing values(1,3);

insert into dingdanxiangqing values(2,4);

insert into dingdanxiangqing values(1,5);

insert into dingdanxiangqing values(3,5);

insert into dingdanxiangqing values(4,2);

insert into dingdanxiangqing values(5,1);

insert into dingdanxiangqing values(3,3);

insert into dingdanxiangqing values(4,3);

select * from yonghu;

select * from shangpin;

select * from sp_Type;

结构:

(1到4)

1

package denglu;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPasswordField;

public class chongzhimimajiemian extends JFrame {

static JButton JButton_QuRen = null;

static JLabel JLabel1, JLabel2 = null;

static JPasswordField JPasswordField_qslmm1, JPasswordField_qslmm2 = null;

public chongzhimimajiemian() {

this.setLayout(null);

this.setTitle("重置密码页面");

this.setSize(500, 500);

this.setLocationRelativeTo(null);

this.setVisible(true);

JLabel1 = new JLabel("请输入密码");

JLabel2 = new JLabel("请再次输入密码");

JLabel1.setBounds(100, 100, 100, 30);

this.add(JLabel1);

JLabel2 = new JLabel("请再次输入密码");

JLabel2.setBounds(100, 140, 100, 30);

this.add(JLabel2);

JButton_QuRen = new JButton("确认修改");

JButton_QuRen.setBounds(100, 290, 150, 30);

this.add(JButton_QuRen);

JButton_QuRen.addActionListener(new shijian_queRenXiuGai(this));

JPasswordField_qslmm1 = new JPasswordField();

JPasswordField_qslmm2 = new JPasswordField();

JPasswordField_qslmm1.setBounds(280, 100, 100, 30);

JPasswordField_qslmm2.setBounds(280, 140, 100, 30);

this.add(JPasswordField_qslmm1);

this.add(JPasswordField_qslmm2);

}

}

class shijian_queRenXiuGai implements ActionListener {

static chongzhimimajiemian chuangKou = null;

public shijian_queRenXiuGai(chongzhimimajiemian chuanzhi) {

this.chuangKou = chuanzhi;

/*个人理解:先声明空的窗口(chuangKou),之后属性都储存到窗口中,之后传值(chuanzhi)赋值给窗口的所有属性,

* 因为“chongzhimimajiemian chuanzhi”的声明,chuanzhi有chongzhimimajiemian中的所有内容*/

}

@Override

public void actionPerformed(ActionEvent arg0) {

if (arg0.getActionCommand().equals("确认修改")) {

JOptionPane.showMessageDialog(null, "点击了修改密码按钮");

// 点击了“确认修改”之后要用if比较一下两个密码输入的是否一致

String pwd1 = chuangKou.JPasswordField_qslmm1.getText();

String pwd2 = chuangKou.JPasswordField_qslmm2.getText();

if (pwd1.equals(pwd2)) {

// 如果相等就做进一步的修改密码

// SQL语句如何加条件:就是where后面加上zhmm(找回密码)页面的uname属性,可以直接调用

// 声明一个工具类,用来保存用户要修改的用户名,什么时候想要使用直接调用就好

String uname = gongjvClass.uname;// 获取到用户要修改的用户名

String sql = "update yonghu set yh_pwd='" + pwd1

+ "' where yh_uname= '" + uname + "'";

if (DBUtils.ZSG(sql)) {

JOptionPane.showMessageDialog(null, "密码重置成功");

} else {

JOptionPane.showMessageDialog(null, "出现了未知的错误,请重试!");

}

} else {

//不相等就提示用户两次密码输入不一致

JOptionPane.showMessageDialog(null, "两次密码输入不一致");

return;

}

}

}

}

2

package denglu;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

/*DBUtis封装了对JDBC的操作,简化了JDBC操作。可以少写代码。

1对于数据表的读操作,他可以把结果转换成List,Aray, Set等java集合, 便于程序员操作:

2.对于数据表的写操作,也变得很简单(只需写sql语句)

3.可以使用数据源,使用JNDI, 数据库连接池等技术来优化性能-重用已经构建好的数据库连

注意,在使用DBUtis过程中,需要在C3P0Utils中添加getDateSource方法。*/

public class DBUtils {

private static Connection con = null;

private static ResultSet res = null;

private static Statement sta = null;

static {

try {

Class.forName("com.microsoft.sqlserver." + "jdbc.SQLServerDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

public static Connection getCon() {

if (con == null) {

try {

con = DriverManager.getConnection(

"jdbc:sqlserver://DESKTOP-49FTFSP;"

+ "databaseName=yonghu", "sa", "1234abcd");

} catch (SQLException e) {

e.printStackTrace();

}

}

return con;

}

public static ResultSet Select(String sql) {

/* Select为用于查找的静态方法 */

con = getCon();

try {

sta = con.createStatement();

res = sta.executeQuery(sql);

} catch (SQLException e) {

e.printStackTrace();

}

return res;

}

public static boolean ZSG(String sql) {

/* ZXG为用于增加(Z)或修改(G)或删除(S)的静态方法,命名不可太长不然这里会不管用 */

boolean b = false;

con = getCon();

try {

sta = con.createStatement();

int num = sta.executeUpdate(sql);

if (num > 0) {

b = true;

}

} catch (SQLException e) {

e.printStackTrace();

}

return b;

}

}

3

package denglu;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.ResultSet;

import java.sql.SQLException;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class denglu extends JFrame {

public static JButton JButton_dl, JButton_qx, JButton_zc,

JButton_zhmm = null;

public static JLabel JLabel_uname, JLabel_pwd = null;

public static JPasswordField JPasswordField_pwd1 = null;

public static JTextField JTextField_unametxt1 = null;

public denglu() {

this.setLayout(null);

this.setSize(640, 400);

this.setLocationRelativeTo(null);

JLabel_uname = new JLabel("用户名");

JLabel_pwd = new JLabel("密码");

JLabel_uname.setBounds(100, 100, 70, 30);

JLabel_pwd.setBounds(100, 140, 70, 30);

this.add(JLabel_uname);

this.add(JLabel_pwd);

JTextField_unametxt1 = new JTextField();

JPasswordField_pwd1 = new JPasswordField();

JTextField_unametxt1.setBounds(180, 100, 140, 30);

JPasswordField_pwd1.setBounds(180, 140, 140, 30);

this.add(JTextField_unametxt1);

this.add(JPasswordField_pwd1);

JButton_dl = new JButton("登录");

JButton_dl.setBounds(140, 180, 70, 35);

JButton_dl.addActionListener(new shijian_denglu(this));

JButton_qx = new JButton("取消");

JButton_qx.setBounds(230, 180, 70, 35);

// JButton_qx.setBounds(arg0(下标为0的值), arg1, arg2, arg3);

JButton_qx.addActionListener(new shijian_denglu(this));

JButton_zc = new JButton("注册");

JButton_zc.setBounds(330, 180, 70, 35);

JButton_zc.addActionListener(new shijian_denglu(this));

JButton_zhmm = new JButton("找回密码");

JButton_zhmm.setBounds(430, 180, 90, 35);

JButton_zhmm.addActionListener(new shijian_denglu(this));

this.add(JButton_zc);

this.add(JButton_dl);

this.add(JButton_qx);

this.add(JButton_zhmm);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

}

/*

* 点击按钮是触发事件,所以加点击事件(ActionEvent) 在事件中使用窗体,将窗体传过来

*/

class shijian_denglu implements ActionListener {

public denglu shijian_dengLu1 = null;

public shijian_denglu(denglu shijian_dengLu2) {

shijian_dengLu1 = shijian_dengLu2;

}

@Override

public void actionPerformed(ActionEvent arg0) {

// JOptionPane.showMessageDialog(null, "点击");

if (arg0.getActionCommand().equals("登录")) {

String uname = shijian_dengLu1.JTextField_unametxt1.getText()

.trim();// 从shijian_dengLu1中的JTextField_unametxt1获取用户输入的用户名文本内容

String pwd = shijian_dengLu1.JPasswordField_pwd1.getText().trim();// 获取密码

String sql = "select * from yonghu where yh_uname='" + uname

+ "'and yh_pwd='" + pwd + "'";

ResultSet res = DBUtils.Select(sql);

try {// res.next()表明寻找res中的内容,如果res中有数据,登录成功,否则登录失败

if (res.next()) {

JOptionPane.showMessageDialog(null, "登录成功");

new dengLuHouJieMian();

shijian_dengLu1.setVisible(false);

} else {

JOptionPane.showMessageDialog(null, "用户名或密码错误");

}

} catch (SQLException e) {

e.printStackTrace();

}

// 点击按钮后会做登录,首先要获取窗体上的用户名和密码,

// 去数据库里查一下用户输入的用户名和密码数据库中存在情况,

// 如果数据库中存在和用户输入的用户名和密码一致

// 说明数据库有这条数据库,用户就可以登录

} else if (arg0.getActionCommand().equals("注册")) {

JOptionPane.showMessageDialog(null, "点击了注册按钮");

new zhuCe();

// dd. setVisible(false);(这里dd. setVisible(false);表明视图隐藏)

} else if (arg0.getActionCommand().equals("找回密码")) {

JOptionPane.showMessageDialog(null, "点击了找回密码按钮");

new zhaoHuiMiMa();

// dd. setVisible(false);

} else if (arg0.getActionCommand().equals("取消")) {

JOptionPane.showMessageDialog(null, "点击了取消按钮");

// dd. setVisible(false);

}

}

}

4

package denglu;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Vector;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

public class dengLuHouJieMian extends JFrame {

class shijian_table implements MouseListener, ActionListener {

public dengLuHouJieMian HanDengLuHouJieMianNeiRong = null;

public shijian_table(dengLuHouJieMian dengLuHouJieMianNeiRong) {

this.HanDengLuHouJieMianNeiRong = dengLuHouJieMianNeiRong;

}

// HanDengLuHouJieMianNeiRong(含登录后界面内容)

// DengLuHouJieMianNeiRong(登录后界面内容)

// 把窗体等内容都赋值传给HanDengLuHouJieMianNeiRong是为了方便下面如

// HanDengLuHouJieMianNeiRong.txt_name.getText();的“点(.)式引用,由“.”

// 后面的精确后缀条件提示等引用精确内容”

@Override

public void actionPerformed(ActionEvent arg0) {

String name = HanDengLuHouJieMianNeiRong.wenBenKuang_name.getText();

String price = HanDengLuHouJieMianNeiRong.wenBenKuang_price.getText();

String type = HanDengLuHouJieMianNeiRong.wenBenKuang_typeid.getText();

// int type = HanDengLuHouJieMianNeiRong.com1.getSelectedIndex();

String jieshao = HanDengLuHouJieMianNeiRong.wenBenKuang_spjieshao.getText();

String sql = "insert into shangpin values('" + name + "'" + ", "

+ price + "," + type + ",'" + jieshao + "')";

if (DBUtils.ZSG(sql)) {

JOptionPane.showMessageDialog(null, "增加成功");

HanDengLuHouJieMianNeiRong.chaxunchushihua();

} else {

JOptionPane.showMessageDialog(null, "出现了未知的错误,增加失败");

}

}

@Override

public void mouseClicked(MouseEvent arg0) {

if (arg0.getClickCount() == 2) {

int row = HanDengLuHouJieMianNeiRong.biaoGe1.getSelectedRow();

HanDengLuHouJieMianNeiRong.wenBenKuang_Bianhao

.setText(HanDengLuHouJieMianNeiRong.biaoGe1.getValueAt(

row, 0).toString());

HanDengLuHouJieMianNeiRong.wenBenKuang_name

.setText(HanDengLuHouJieMianNeiRong.biaoGe1.getValueAt(

row, 1).toString());

HanDengLuHouJieMianNeiRong.wenBenKuang_price

.setText(HanDengLuHouJieMianNeiRong.biaoGe1.getValueAt(

row, 2).toString());

HanDengLuHouJieMianNeiRong.wenBenKuang_typeid

.setText(HanDengLuHouJieMianNeiRong.biaoGe1.getValueAt(

row, 3).toString());

HanDengLuHouJieMianNeiRong.wenBenKuang_spjieshao

.setText(HanDengLuHouJieMianNeiRong.biaoGe1.getValueAt(

row, 4).toString());

}

if (arg0.isMetaDown()) {

int num = JOptionPane.showConfirmDialog(null, "是否确认删除这条信息?");

if (num == 0) {

int row = HanDengLuHouJieMianNeiRong.biaoGe1

.getSelectedRow();

String sql = "delete shangpin where sp_id="

+ HanDengLuHouJieMianNeiRong.biaoGe1.getValueAt(

row, 0) + "";

if (DBUtils.ZSG(sql)) {

JOptionPane.showMessageDialog(null, "册除成功");

HanDengLuHouJieMianNeiRong.chaxunchushihua();

// 删除成功再查询一遍表格就可以实现表格的刷新,但是我们的查询写在了构造方法里,内容很多,

// 这里想要使用又要在写一遍,很麻烦,那么现在我们写一个方法 将查询内容封装进去,再想查询的

// 时候只要调用查询的方法即可

} else {

JOptionPane.showMessageDialog(null, "出现了未知的错误,请重试");

}

}

}

}

@Override

public void mouseEntered(MouseEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public void mouseExited(MouseEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public void mousePressed(MouseEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public void mouseReleased(MouseEvent arg0) {

// TODO Auto-generated method stub

}

}

static JButton anNiu_zengJia = null;

//anNiu_zengJia按钮_增加

public static JComboBox xiaLaKuang = null;

//xiaLaKuang(下拉框)

static DefaultTableModel biaoGeMoXing1 = null;

//biaoGeMoXing1(表格模型1)

static JScrollPane gunDongTiao  = null;

//gunDongTiao(滚动条)

static JTable biaoGe1 = null;

//biaoGe1(表格1)

static JLabel wenZi_Bianhao, wenZi_name, wenZi_price, wenZi_typeid,

wenZi_tjtypeid, wenZi_spjieshao;

//文字(wenZi)

static JTextField wenBenKuang_Bianhao, wenBenKuang_name, wenBenKuang_price,

wenBenKuang_typeid,

wenBenKuang_spjieshao;

//wenBenKuang(文本框)

static Vector Vector_jiHe_biaoti = null;

//集合(jiHe),标题(biaoti)

static Vector> Vector_jiHe_biaoGeNeiRong = null;

//biaoGeNeiRong(表格内容)

JPanel mianBan1, mianBan2 = null;

//mianBan(面板)

public dengLuHouJieMian() {

this.setTitle("登录后的界面");

this.setSize(800, 600);

this.setLayout(null);

this.setLocationRelativeTo(null);

wenZi_Bianhao = new JLabel("编号");

wenZi_name = new JLabel("名称");

wenZi_price = new JLabel("价格");

wenZi_tjtypeid = new JLabel("类型名称和ID");

wenZi_typeid = new JLabel("类型ID");

wenZi_spjieshao = new JLabel("介绍");

anNiu_zengJia = new JButton("添加数据");

anNiu_zengJia.setBounds(530, 390, 100, 30);

anNiu_zengJia.addActionListener(new shijian_table(this));

this.add(anNiu_zengJia);

wenZi_Bianhao.setBounds(560, 100, 70, 30);

wenZi_name.setBounds(560, 140, 70, 30);

wenZi_price.setBounds(560, 180, 70, 30);

wenZi_typeid.setBounds(560, 220, 70, 30);

wenZi_spjieshao.setBounds(560, 260, 70, 30);

wenZi_tjtypeid.setBounds(560, 320, 170, 30);

this.add(wenZi_Bianhao);

this.add(wenZi_name);

this.add(wenZi_price);

this.add(wenZi_typeid);

this.add(wenZi_spjieshao);

this.add(wenZi_tjtypeid);

wenBenKuang_Bianhao = new JTextField();// 画框框的界面

wenBenKuang_Bianhao.setEditable(false);

wenBenKuang_name = new JTextField();

wenBenKuang_price = new JTextField();

wenBenKuang_typeid = new JTextField();

wenBenKuang_spjieshao = new JTextField();

wenBenKuang_Bianhao.setBounds(640, 100, 130, 30);

wenBenKuang_name.setBounds(640, 140, 130, 30);

wenBenKuang_price.setBounds(640, 180, 130, 30);

wenBenKuang_typeid.setBounds(640, 220, 130, 30);

wenBenKuang_spjieshao.setBounds(640, 260, 130, 30);

this.add(wenBenKuang_Bianhao);

this.add(wenBenKuang_name);

this.add(wenBenKuang_price);

this.add(wenBenKuang_typeid);

this.add(wenBenKuang_spjieshao);

Vector_jiHe_biaoti = new Vector();

Vector_jiHe_biaoti.add("编号");

Vector_jiHe_biaoti.add("名称");

Vector_jiHe_biaoti.add("价格");

Vector_jiHe_biaoti.add("类型");

Vector_jiHe_biaoti.add("介绍");

String sql = "select * from shangpin";

ResultSet res = DBUtils.Select(sql);

try {

Vector_jiHe_biaoGeNeiRong = new Vector>();

while (res.next()) {

Vector v = new Vector();

v.add(res.getInt("sp_ID"));

v.add(res.getString("sp_Name"));

v.add(res.getDouble("sp_price"));

v.add(res.getInt("sp_TypeID"));

v.add(res.getString("sp_Jieshao"));

Vector_jiHe_biaoGeNeiRong.add(v);

biaoGeMoXing1 = new DefaultTableModel(Vector_jiHe_biaoGeNeiRong,

Vector_jiHe_biaoti);

}

biaoGeMoXing1 = new DefaultTableModel(Vector_jiHe_biaoGeNeiRong,

Vector_jiHe_biaoti) {

@Override

public boolean isCellEditable(int a, int b) {

return false;

}

};

biaoGe1 = new JTable(biaoGeMoXing1);

biaoGe1.addMouseListener(new shijian_table(this));

biaoGe1.setBounds(0, 0, 500, 500);

gunDongTiao  = new JScrollPane(biaoGe1);

gunDongTiao .setBounds(0, 0, 550, 150);

mianBan1 = new JPanel();/*

* JPanel1 = new JPanel(); 不可在gundong = new

* JScrollPane(JTable1);上面

*/

mianBan1.add(gunDongTiao );

// 加this.add(gundong);删mianBan1.add(gunDongTiao );会有直接的滚动条,但变只可删一次

mianBan1.setBounds(0, 0, 550, 250);

this.add(mianBan1);

} catch (SQLException e) {

e.printStackTrace();

}

shangPinLeiXingXiaLaKuang();

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

// 这里引用chaxunchushihua();没作用

}

// public void XXX() 格式就是封装查询的方法,可调用,无加静态属性的单词

public void chaxunchushihua() {

// 判断JPanel是不是为空

if (this.mianBan1 != null) {

//面板1不为空说明面板1中有内容,就把面板1内容用从this中用remove移除,下面再加新内容

this.remove(mianBan1);

}

Vector_jiHe_biaoti = new Vector();

Vector_jiHe_biaoti.add("编号");

Vector_jiHe_biaoti.add("名称");

Vector_jiHe_biaoti.add("价格");

Vector_jiHe_biaoti.add("类型");

Vector_jiHe_biaoti.add("介绍");

String sql = "select * from shangpin";

ResultSet res = DBUtils.Select(sql);

try {

Vector_jiHe_biaoGeNeiRong = new Vector>();

while (res.next()) {

Vector v = new Vector();

v.add(res.getInt("sp_ID"));

v.add(res.getString("sp_Name"));

v.add(res.getDouble("sp_price"));

v.add(res.getInt("sp_TypeID"));

v.add(res.getString("sp_Jieshao"));

Vector_jiHe_biaoGeNeiRong.add(v);

biaoGeMoXing1 = new DefaultTableModel(Vector_jiHe_biaoGeNeiRong,

Vector_jiHe_biaoti);

}

biaoGeMoXing1 = new DefaultTableModel(Vector_jiHe_biaoGeNeiRong,

Vector_jiHe_biaoti) {

@Override

public boolean isCellEditable(int a, int b) {

return false;

}

};

biaoGe1 = new JTable(biaoGeMoXing1);

// XXX.addMouseListener(new XXX(this));为给表格添加鼠标点击事件的格式,多总结和记录格式等法

biaoGe1.addMouseListener(new shijian_table(this));

gunDongTiao  = new JScrollPane(biaoGe1);

gunDongTiao .setBounds(0, 0, 550, 150);

mianBan1 = new JPanel();

mianBan1.add(gunDongTiao );

mianBan1.setBounds(0, 0, 550, 250);

this.add(mianBan1);

} catch (SQLException e) {

e.printStackTrace();

}

// 释放资源:this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

}

//shangPinLeiXingXiaLaKuang(商品类型下拉框)

public void shangPinLeiXingXiaLaKuang() {

String sql = "select * from sp_type";

ResultSet res = DBUtils.Select(sql);

xiaLaKuang = new JComboBox();

try {

while (res.next()) {

// com1. setSelectedIndex(Integer.parseInt(res. getObject(1).

// toString()));

xiaLaKuang.addItem(res.getObject(2).toString());

xiaLaKuang.addItem(res.getObject(1).toString());

}

} catch (SQLException e) {

e.printStackTrace();

}

xiaLaKuang.setBounds(640, 320, 130, 30);

this.add(xiaLaKuang);

}

}

java 注册忘记密码操作_Java实战项目(1):swing图书管理系统的登录,注册,找回密码,增删查,个人解析等...相关推荐

  1. C#实战项目~智能图书管理系统

    智能图书管理系统 引言1.1目的 如今,学校的现代化管理下,学校的智能图书管理显得至关重要.其中图书管理内容也成为学校管理的一部分.因此,我们需要一个比较完善的智能图书管理,为用户提供可借阅的重要信息 ...

  2. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  3. 【源码及课件分享】Java实战项目之酒店客房管理系统_Java项目开发_Java项目实战

    Java实战项目又双叒叕来咯~小伙伴们请查收~酒店客房管理系统![源码及课件分享]Java实战项目之酒店客房管理系统_Java项目开发_Java项目实战_Java毕业设计https://www.bil ...

  4. 【源码+教程】Java学生成绩在线管理项目_Java实战项目_Java开源项目_Java毕设项目_Java毕业设计_计算机毕业设计_Java项目开发

    今天为大家带来的是Java实战项目--学生成绩在线管理,可以用来做毕业设计喔~源码和教程就在下方.请大家查收~[源码+教程]Java学生成绩在线管理项目_Java实战项目_Java开源项目_Java毕 ...

  5. Java MapReduce 基本计算操作实现实战

    Java MapReduce 基本计算操作实现实战 特别注意:  1.在运行代码的过程中注意自己本地Hadoop版本必须与服务器版本一致,否则会出现许多意向不到的问题;  2.数据之间不能有空行间隔; ...

  6. AspNetCore-MVC实战系列(二)之通过绑定邮箱找回密码

    AspNetCore - MVC实战系列目录 . 爱留图网站诞生 . git源码:https://github.com/shenniubuxing3/LovePicture.Web . AspNetC ...

  7. 程序逸的Java项目之旅-图书管理系统之数据库设计(1)

    程序逸的Java项目之旅-图书管理系统之环境的搭建 1.前言 上篇博客我们介绍了一下环境的搭建,我相信很多小伙伴这点应该问题不大,可能就是idea破解和mysql数据库和redis数据库的安装吧,我其 ...

  8. 程序逸的Java项目之旅-图书管理系统之验证码和用户数据的后台获取(1)

    通过上篇博客>>>>>程序逸的Java项目之旅-图书管理系统之后端接口的快速实现,我们就可以快速搭建出基础的项目代码了,今天我们就先来实现一个验证码和后台获取管理员的账号 ...

  9. vue实战项目:电商管理系统实现步骤笔记(一)

    vue实战项目 视频地址以及项目文件 一.项目概述 1.1电商项目基本业务概述 1.2电商后台管理系统的功能 1.3电商后台管理系统的开发模式(前后端分离) 1.4电商后台管理系统的技术选型 1.4. ...

最新文章

  1. BOOST_CONSTANTS_GENERATE宏相关用法的测试程序
  2. ios html5 网页取消默认样式
  3. 进化之路:线程池来帮忙,却好心办坏事
  4. 数据结构课上笔记13
  5. 我用休眠做并发控制,搞垮了下游服务
  6. C++中传递数组参数
  7. cocos2d(CCSprite 用贝塞尔做抛物线,足球精灵并且同时做旋转放大效果)
  8. 不安全的文件下载原理
  9. Solr 5.3.0集成mmseg4j、tomcat部署、Solrj 5.3.0使用
  10. 一个实用的小工具——键盘映射KeyTweak
  11. 【龙格库塔优化算法】基于龙格库塔优化算法求解单目标优化问题含Matlab源码
  12. 笔记本开机循环显示:this product is covered by one or more of the following patents 解决办法
  13. Win10使用系统自带命令diskpart格式化U盘
  14. 江南大学计算机科学复试题目,2019江南大学计算机考研初试科目、参考书目、复试线...
  15. 对比DoS攻击与DDoS攻击
  16. 图像处理与机器视觉网络资源
  17. PackageManagerService根据权限等级管理权限流程分析(默认赋予apk权限)
  18. mysql 特性之一 double write (双写)
  19. MySQL 字段的基本操作:添加、修改和删除字段(详解)
  20. python不支持的函数string_Python字符串string常用方法和函数

热门文章

  1. 做好准备迎接崭新的BCH了吗?
  2. #Apache Spark系列技术直播# 第六讲【 What's New in Apache Spark 2.4? 】
  3. 2017乌鲁木齐区域赛I(带权并查集)
  4. 容器开启数据服务之旅系列(四):Kubernetes QoS 助力在线运用与大数据离线运用的带宽控制和磁盘控制...
  5. Spring整合Disruptor3
  6. Excel超级链接方式应用技巧
  7. 解决VMware虚拟机时间同步问题
  8. 《不留》--王菲 Faye
  9. QuickMock:基于Express的快速mock平台
  10. 批量增加文件夹C语言实现