import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Add extends JFrame {
public Add() {
this.setTitle("录入歌曲信息界面");//设置窗口标题
this.setBounds(100, 100, 500, 750);//设置窗口大小
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//设置关闭子窗口但是不关闭父类窗口
this.setLayout(null);//设置布局方式为null,自己控制组件位置
//创建标签和按钮
JLabel jLabel = new JLabel("录入歌曲信息界面");
JLabel jLabel1 = new JLabel("歌曲编号:");
JLabel jLabel2 = new JLabel("歌曲名称:");
JLabel jLabel3 = new JLabel("歌曲歌手:");
JLabel jLabel4 = new JLabel("歌曲时长:");
JLabel jLabel5 = new JLabel("专辑名称:");
JLabel jLabel6 = new JLabel("歌曲年份:");
JLabel jLabel7 = new JLabel("歌曲评价:");
JButton jb1 = new JButton("录入");
//创建文本框和面板
JTextField field1 = new JTextField(18);
JTextField field2 = new JTextField(18);
JTextField field3 = new JTextField(18);
JTextField field4 = new JTextField(18);
JTextField field5 = new JTextField(18);
JTextField field6 = new JTextField(18);
JTextField field7 = new JTextField(18);
//创建面板
JPanel jPanel = new JPanel();
JPanel jPanel0 = new JPanel();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
JPanel jPanel4 = new JPanel();
JPanel jPanel5 = new JPanel();
JPanel jPanel6 = new JPanel();
JPanel jPanel7 = new JPanel();
//将标签和文本框添加到面板中
jPanel.add(jLabel);
jPanel1.add(jLabel1);
jPanel1.add(field1);
jPanel2.add(jLabel2);
jPanel2.add(field2);
jPanel3.add(jLabel3);
jPanel3.add(field3);
jPanel4.add(jLabel4);
jPanel4.add(field4);
jPanel5.add(jLabel5);
jPanel5.add(field5);
jPanel6.add(jLabel6);
jPanel6.add(field6);
jPanel7.add(jLabel7);
jPanel7.add(field7);
jPanel0.add(jb1);
//设置面板位置和大小
jPanel.setBounds(0, 40, 450, 50);
jPanel1.setBounds(0, 110, 450, 50);
jPanel2.setBounds(0, 180, 450, 50);
jPanel3.setBounds(0, 250, 450, 50);
jPanel4.setBounds(0, 320, 450, 50);
jPanel5.setBounds(0, 390, 450, 50);
jPanel6.setBounds(0, 460, 450, 50);
jPanel7.setBounds(0, 530, 450, 50);
jPanel0.setBounds(0, 600, 450, 50);
//设置字体大小
jLabel.setFont(new Font("微软雅黑", Font.PLAIN, 20));
jLabel1.setFont(new Font("微软雅黑", Font.PLAIN, 20));
jLabel2.setFont(new Font("微软雅黑", Font.PLAIN, 20));
jLabel3.setFont(new Font("微软雅黑", Font.PLAIN, 20));
jLabel4.setFont(new Font("微软雅黑", Font.PLAIN, 20));
jLabel5.setFont(new Font("微软雅黑", Font.PLAIN, 20));
jLabel6.setFont(new Font("微软雅黑", Font.PLAIN, 20));
jLabel7.setFont(new Font("微软雅黑", Font.PLAIN, 20));
jb1.setFont(new Font("微软雅黑", Font.PLAIN, 20));
//将面板添加到窗口中
this.add(jPanel);
this.add(jPanel1);
this.add(jPanel2);
this.add(jPanel3);
this.add(jPanel4);
this.add(jPanel5);
this.add(jPanel6);
this.add(jPanel7);
this.add(jPanel0);
//设置界面可见
this.setVisible(true);
UIManager.put("OptionPane.messageFont", new Font("微软雅黑", Font.PLAIN, 15));
jb1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (field1.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "编号不能为空!");
return;
}
// 检查歌曲编号是否已存在
Connection con = null;
PreparedStatement checkStmt = null;
ResultSet rs = null;
try {
con = JDBCUtils.getConnection();
String checkSql = "SELECT * FROM song WHERE id = ?";
checkStmt = con.prepareStatement(checkSql);
checkStmt.setString(1, field1.getText());
rs = checkStmt.executeQuery();
if (rs.next()) { // 如果查询结果有数据,说明id已存在
JOptionPane.showMessageDialog(null, "编号已存在,请输入唯一的编号!");
return;
} else {
// 歌曲编号不存在,执行插入操作
String insertSql = "INSERT INTO song VALUES(?,?,?,?,?,?,?)";
PreparedStatement stmt = con.prepareStatement(insertSql);
stmt.setString(1, field1.getText());
stmt.setString(2, field2.getText());
stmt.setString(3, field3.getText());
stmt.setString(4, field4.getText());
stmt.setString(5, field5.getText());
stmt.setString(6, field6.getText());
stmt.setString(7, field7.getText());
stmt.execute();
JOptionPane.showMessageDialog(null, "录入成功!");
}
} catch (Exception e2) {
e2.printStackTrace();
JOptionPane.showMessageDialog(null, "录入失败:" + e2.getMessage());
} finally {
try {
JDBCUtils.close(rs, checkStmt, con); // 注意这里关闭的是检查id的资源
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
});
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于javaswing的ktv歌曲管理系统
共115个文件
class:68个
png:18个
java:16个
需积分: 1 0 下载量 168 浏览量
2024-10-23
19:58:35
上传
评论
收藏 435KB ZIP 举报
温馨提示
基于javaswing的ktv歌曲管理系统
资源推荐
资源详情
资源评论
收起资源包目录
基于javaswing的ktv歌曲管理系统 (115个子文件)
SelectByYears.class 4KB
SelectBySong.class 4KB
SelectByName.class 4KB
SelectAll.class 3KB
SelectAll.class 3KB
Add$1.class 3KB
Update.class 3KB
Add.class 3KB
Update.class 3KB
Add.class 3KB
Register.class 3KB
Login$1.class 3KB
Login.class 3KB
Delete$1.class 3KB
Update$1.class 3KB
Login$1.class 3KB
Update$1.class 2KB
Add$1.class 2KB
AdminMain.class 2KB
Login.class 2KB
Register.class 2KB
Register$1.class 2KB
AdminMain.class 2KB
Delete$1.class 2KB
DimMain.class 2KB
UserMain.class 2KB
LoginFrame.class 2KB
Delete.class 2KB
Delete.class 2KB
Register$1.class 2KB
RegisterFrame.class 1KB
JDBCUtils.class 1KB
JDBCUtils.class 1KB
Start.class 1KB
Start.class 1KB
JDBCUtilsTest.class 1KB
SelectByYears$2.class 788B
SelectByName$2.class 782B
SelectBySong$2.class 782B
RegisterFrame$1.class 715B
LoginFrame$1.class 700B
SelectByYears$1.class 667B
SelectByName$1.class 661B
SelectBySong$1.class 661B
AdminMain$5.class 655B
AdminMain$5.class 653B
AdminMain$6.class 653B
UserMain$2.class 647B
Register$2.class 647B
Register$2.class 647B
DimMain$4.class 645B
SelectAll$1.class 643B
SelectAll$1.class 643B
Login$2.class 632B
Login$2.class 632B
AdminMain$4.class 626B
AdminMain$4.class 626B
AdminMain$2.class 623B
AdminMain$3.class 623B
AdminMain$2.class 623B
AdminMain$3.class 623B
UserMain$1.class 620B
AdminMain$1.class 620B
AdminMain$1.class 620B
DimMain$3.class 618B
DimMain$2.class 617B
DimMain$1.class 617B
LoginFrame$2.class 477B
.gitignore 184B
KTV歌曲管理系统.iml 1KB
Add.java 6KB
Update.java 6KB
Login.java 4KB
SelectByYears.java 4KB
SelectBySong.java 4KB
SelectByName.java 4KB
AdminMain.java 4KB
Delete.java 3KB
Register.java 3KB
SelectAll.java 3KB
DimMain.java 3KB
LoginFrame.java 2KB
RegisterFrame.java 1KB
JDBCUtils.java 838B
Start.java 704B
JDBCUtilsTest.java 341B
F]DRSA2NW135E}B1D(_}YU0.png 42KB
4L7BTXYJ`STI@PIN16B0}EL.png 35KB
4DG3NTQ5]%VM{]34G_N}T8X.png 35KB
I6X%O3E@7WU1REENBS{VWO0.png 35KB
}%H5B$9ED)U6S{T[$W(B}B0.png 27KB
CO5N1QRXT6QKID5E08Y14_L.png 24KB
Y_4{ED(`P~`GGJG(]4CYKF4.png 24KB
EDQX%`P{Z_C{R$5QCY$J76N.png 20KB
UY%`22A}VDS2QU~0@JL148V.png 20KB
L_QCH{A(`PZ2YK%R(Z)L_%W.png 18KB
W86PWEVO5S0~@WC4DW_(WN1.png 17KB
E9BT[{FAC~R@S$~I9~_Z2ZJ.png 16KB
65V24TAA]8K_B5YB`K]S{{L.png 9KB
2EY7S`U10LF8YWIG)6Q~_$I.png 6KB
共 115 条
- 1
- 2
资源评论
骚戴
- 粉丝: 367
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- http-Request.zip,http-Request.zip,http-Request.zip,http-Request
- yolov4-tiny 1200张图片训练效果
- 新建压缩(zipped)文件夹.zip
- apache-tomcat-10.1.17-windows-x64.zip
- Chrome Standalone 109.0.5414.75 x64,下载自外网谷歌.com站点 完整Google封装
- pdf_20230153025.zip
- MicrosoftEdgeEnterpriseX64.msi-89.0.774.75, Win7可用,微软完整封包
- WPF拖拽交互:实现自定义拖拽控件及数据交换技巧解析
- MFC项目管控的主线程是UI线程,有的操作比较费时,我们可以通过工作线程去解决,并提供界面一个等待对话框,告知用户此刻程序没有卡
- Delphi12-1000y-炎黄千年(delphi源码)完整版.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功