设为首页 收藏本站
查看: 1140|回复: 0

[经验分享] 新手入门《eclipse链接sql server数据库实现增删改查功能代码分享》

[复制链接]

尚未签到

发表于 2017-7-13 19:05:31 | 显示全部楼层 |阅读模式
//java脚本代码eclipse(版本:jre1.8需导入sqljdbc4.jar包)


package ang;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
//import java.util.Vector;
//import java.awt.*;
import javax.swing.*;
public class data extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
JButton add, select, del, update;
JTable table;
Object body[][] = new Object[50][5];
String fields[] = { "编号", "姓名", "性别", "年龄", "地址" };
Connection conn;
Statement st;
ResultSet rs;
JTabbedPane tp;
public data() {
super("数据库操作");
this.setSize(400, 300);
this.setLocation(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel ps = new JPanel();
add = new JButton("添加");
select = new JButton("查询");
update = new JButton("更新");
del = new JButton("删除");
add.addActionListener(this);
select.addActionListener(this);
update.addActionListener(this);
del.addActionListener(this);
ps.add(add);
ps.add(select);
ps.add(update);
ps.add(del);
this.connection();
table = new JTable(body, fields);
tp = new JTabbedPane();
tp.add("S表", new JScrollPane(table));
this.getContentPane().add(tp, "Center");
this.getContentPane().add(ps, "South");
this.setVisible(true);

}
public void connection() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName = studb","sa","svse");
st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
} catch (Exception ex) {
// TODO: handle exception
            ex.printStackTrace();
System.out.println("连接错误:" + ex.getMessage());
//System.out.println("连接错误");
        }
}
public static void main(String[] args) {
// TODO Auto-generated method stub
data dt = new data();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == add) {
add();
}
if (e.getSource() == select) {
select();
}
if (e.getSource() == update) {
update();
}
if (e.getSource() == del) {
del();
}
}
private void del() {
// TODO Auto-generated method stub
try {
int row = table.getSelectedRow();
String str = "delete stuacce where SNO = '" + body[row][0] + "'";
st.executeUpdate(str);
JOptionPane.showMessageDialog(null, "数据已成功删除");
this.select();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "删除数据错误!");
}
}
private void update() {
// TODO Auto-generated method stub
try {
int row = table.getSelectedRow();
JTextField t[] = new JTextField[8];
t[0] = new JTextField("输入姓名:");
t[0].setEditable(false);
t[1] = new JTextField();
t[1].setText((String) body[row][1]);
t[2] = new JTextField("输入性别:");
t[2].setEditable(false);
t[3] = new JTextField();
t[3].setText((String) body[row][2]);
t[4] = new JTextField("输入年龄:");
t[4].setEditable(false);
t[5] = new JTextField();
t[5].setText((String) body[row][3]);
t[6] = new JTextField("输入专业:");
t[6].setEditable(false);
t[7] = new JTextField();
t[7].setText((String) body[row][4]);
String but[] = { "确定", "取消" };
int go = JOptionPane.showOptionDialog(null, t, "修改信息", JOptionPane.YES_OPTION,
JOptionPane.INFORMATION_MESSAGE, null, but, but[0]);
if (go == 0) {
String nName = (String) t[1].getText();
String nsex = (String) t[3].getText();
int nage = Integer.parseInt(t[5].getText());
String ndept = (String) t[7].getText();
String str = "update stuacce set sname = '" + nName + "',sex='" + nsex + "',age='" + nage + "',dept='" + ndept
+ "'where sno='" + body[row][0] + "' ";
st.executeUpdate(str);
JOptionPane.showMessageDialog(null, "修改数据成功!");
this.select();
st.executeUpdate(str);
//JOptionPane.showMessageDialog(null, "数据已经成功插入!");
            }
} catch (Exception ex) {
// TODO: handle exception
            ex.printStackTrace();
JOptionPane.showMessageDialog(null, "更新数据失败!");
}
}
private void select() {
// TODO Auto-generated method stub
String str = "select * from stuacce";
filltable(str);
}
private void filltable(String str) {
// TODO Auto-generated method stub
try {
for(int x=0;x<body.length;x++){
body[x][0]=null;
body[x][1]=null;
body[x][2]=null;
body[x][3]=null;
body[x][4]=null;
}
int i = 0;
rs = st.executeQuery(str);
while(rs.next()){
body[0]=rs.getString("SNO");
body[1]=rs.getString("SNAME");
body[2]=rs.getString("SEX");
body[3]=rs.getString("AGE");
body[4]=rs.getString("DEPT");
i=i+1;
}
this.repaint(i);
} catch (Exception ex) {
// TODO: handle exception
            ex.printStackTrace();
}
}
private void add() {
// TODO Auto-generated method stub
try {
JTextField t[] = new JTextField[10];
t[0] = new JTextField("输入学号:");
t[0].setEditable(false);
t[1] = new JTextField();
t[2] = new JTextField("输入姓名:");
t[2].setEditable(false);
t[3] = new JTextField();
t[4] = new JTextField("输入性别:");
t[4].setEditable(false);
t[5] = new JTextField();
t[6] = new JTextField("输入年龄:");
t[6].setEditable(false);
t[7] = new JTextField();
t[8] = new JTextField("输入专业:");
t[8].setEditable(false);
t[9] = new JTextField();
String but[] = {"确定","取消"};
int go = JOptionPane.showOptionDialog(null, t, "插入信息", JOptionPane.YES_OPTION, JOptionPane.INFORMATION_MESSAGE, null, but, but[0]);
if(go == 0){
try {
int nsno  = Integer.parseInt(t[1].getText());
String nName = (String)t[3].getText();
String nsex  = (String)t[5].getText();
int nage  = Integer.parseInt(t[7].getText());
String ndept  = (String)t[9].getText();
String str = "insert into stuacce values('"+nsno+"','"+nName+"','"+nsex+"','"+nage+"','"+ndept+"')";
st.executeUpdate(str);
JOptionPane.showMessageDialog(null, "数据已经成功插入!");
this.select();
} catch (Exception ex) {
// TODO: handle exception
JOptionPane.showMessageDialog(null, "数据插入失败!");
}
}
} catch (Exception ex) {
// TODO: handle exception
            
}
}
}





sql server2008数据库脚本,需配置好端口设置1433及启用IP/TCP




use master
go
if exists(select * from sysdatabases where name = 'studb')
drop database studb
go
create database studb
go
use studb
go
if exists(select * from sysobjects where name = 'stuacce')
drop table stuacce
go
create table stuacce
(
sno int ,
sname varchar(8),
sex varchar(2),
age int,
dept varchar(50)
)
go
insert into stuacce values(1,'张三','男',18,'北京海淀区')
insert into stuacce values(2,'李斯','女',23,'北京朝阳区')

select * from stuacce

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-393535-1-1.html 上篇帖子: SQL Server创建视图——视图的作用 下篇帖子: SQL Server 之 事务与隔离级别实例讲解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表