JAVA实验报告-数据库编程.docx_第1页
JAVA实验报告-数据库编程.docx_第2页
JAVA实验报告-数据库编程.docx_第3页
JAVA实验报告-数据库编程.docx_第4页
JAVA实验报告-数据库编程.docx_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA实验报告班级:GOT7姓名: 鸟宝宝 学号:i got7指导老师:鲁鸣鸣实验三 数据库络编程一、实验目的 1. 了解和掌握Java基本概念和语法2了解和掌握Java图形界面编程的基本概念和用法 3. 了解和掌握Java事件编程的基本概念和用法4. 了解和掌握Java IO基本功能和用法5. 了解和掌握Java 数据库编程基本功能和用法 二、实验开发环境和工具可以在Linux或者Windows操作系统上搭建开发环境,可使用集成开发环境Eclipse,使用Java语言,工具包使用JDK1.6、1.7或1.8。三、实验内容 在实验一、二的基础上,拓展所实现的小软件,增加与数据库通信的功能。要就能有查询、增加、删除、更新数据的功能。4 实验过程 要实现JAVA程序和数据库的通信,首先要熟悉数据库,MySQL的基本语法,例如建立数据库,创建修改查询删除表的操作,这些都清楚以后再来实现JAVA和数据库的连接,让JAVA程序去做上述事情,最后实现他们之间的相互响应,达到通信的目的。5 程序清单/服务器端代码package zjq;import .*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.io.*;public class MyServer public static void main(String args) try /服务器在8000端口监听 ServerSocket ss = new ServerSocket(8000) ; System.out.println(服务器正在8000端口监听.) ; Socket s = ss.accept() ; /接受用户名和密码 InputStream is = s.getInputStream() ; InputStreamReader isr = new InputStreamReader(is) ; BufferedReader br = new BufferedReader(isr) ; String uandpandc = br.readLine();/检验点System.out.println(uandpandc);String u = ;String p = ;String c = ;tryu = uandpandc.split(%)0;p = uandpandc.split(%)1;c = uandpandc.split(%)2;catch(Exception ee)OutputStream os = s.getOutputStream();OutputStreamWriter osw = new OutputStreamWriter(os);PrintWriter pw = new PrintWriter(osw, true);Class.forName(org.gjt.mm.mysql.Driver);Connection cn = DriverManager.getConnection(jdbc:mysql:/:3306/user,root,951003);PreparedStatement ps = cn.prepareStatement(select *from users where username =? and password =?);ps.setString(1, u);ps.setString(2, p);ResultSet rs = ps.executeQuery();switch(c)case login:if(rs.next()/发送正确信息到客户端pw.println(ok);else/发送错误信息到客户端pw.println(err); break;caseregister:if(rs.next()/发送正确信息到客户端pw.println(ok);elsepw.println(err);PreparedStatement ps2 = cn.prepareStatement(insert into users values(?,?,?);ps2.setString(1, u);ps2.setString(2, p);ps2.setString(3, 0);ps2.executeUpdate();break;case delete:if(rs.next()/发送正确信息到客户端pw.println(ok);PreparedStatement ps3 = cn.prepareStatement(delete from users where username = ?);ps3.setString(1, u);ps3.executeUpdate();elsepw.println(err);break; catch(Exception e) /登陆界面代码package zjq;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.io.* ;import .* ;public class login extends JFrame implements ActionListener JTextField txtUser = new JTextField() ;JPasswordField txtPass = new JPasswordField();public login() this.setSize(250 , 125) ;/new组件JLabel labUser = new JLabel(用户名) ;JLabel labPass = new JLabel(密码) ;JButton btnLogin = new JButton(登陆) ;JButton btnReg = new JButton(注册) ;JButton btnCancel = new JButton(注销) ;/注册事件监听btnLogin.addActionListener(this) ;btnReg.addActionListener(this) ;btnCancel.addActionListener(this) ;/布置输入面板JPanel panInput = new JPanel() ;panInput.setLayout(new GridLayout(2 , 2) ;panInput.add(labUser) ;panInput.add(txtUser) ;panInput.add(labPass) ;panInput.add(txtPass) ; /布置按钮面板 JPanel panButton = new JPanel() ; panButton.setLayout(new FlowLayout() ; panButton.add(btnLogin) ; panButton.add(btnReg) ; panButton.add(btnCancel) ;/布置窗体 this.setLayout(new BorderLayout() ; this.add(panInput , BorderLayout.CENTER) ; this.add(panButton , BorderLayout.SOUTH) ; public static void main(String args) login w = new login() ; w.setVisible(true) ; public void actionPerformed(ActionEvent arg0) switch(arg0.getActionCommand()case 登录:try/发送用户名和密码到服务器端String user = txtUser.getText();String pass = txtPass.getText();String com = login;Socket s = new Socket(localhost,8000);OutputStream os = s.getOutputStream();OutputStreamWriter osw = new OutputStreamWriter(os);PrintWriter pw = new PrintWriter(osw, true);pw.println(user+%+pass+%+com);/接收服务器发送回来的确认信息InputStream is = s.getInputStream();InputStreamReader isr = new InputStreamReader(is);BufferedReader br = new BufferedReader(isr);String yorn = br.readLine();/显示主窗体if(yorn.equals(ok)zjt m=new zjt(); m.setVisible(true); this.setVisible(false); elseJOptionPane.showMessageDialog(null, 用户名或密码出错, 登录失败 , JOptionPane.ERROR_MESSAGE);catch(Exception e)e.printStackTrace() ; break;case 注册:try/发送用户名和密码到服务器端String user = txtUser.getText();String pass = txtPass.getText();String com = register;Socket s = new Socket(localhost,8000);OutputStream os = s.getOutputStream();OutputStreamWriter osw = new OutputStreamWriter(os);PrintWriter pw = new PrintWriter(osw, true);pw.println(user+%+pass+%+com);/接收服务器发送回来的确认信息InputStream is = s.getInputStream();InputStreamReader isr = new InputStreamReader(is);BufferedReader br = new BufferedReader(isr);String yorn = br.readLine();/显示主窗体if(yorn.equals(ok)JOptionPane.showMessageDialog(null, 用户已经注册!, 失败 , JOptionPane.ERROR_MESSAGE);elseJOptionPane.showMessageDialog(null, 用户注册成功!, 成功 , JOptionPane.ERROR_MESSAGE);catch(Exception e1)e1.printStackTrace() ;break;case 注销:try/发送用户名和密码到服务器端String user = txtUser.getText();String pass = txtPass.getText();String com = delete;Socket s = new Socket(localhost,8000);OutputStream os = s.getOutputStream();OutputStreamWriter osw = new OutputStreamWriter(os);PrintWriter pw = new PrintWriter(osw, true);pw.println(user+%+pass+%+com);/接收服务器发送回来的确认信息InputStream is = s.getInputStream();InputStreamReader isr = new InputStreamReader(is);BufferedReader br = new BufferedReader(isr);String yorn = br.readLine();/显示主窗体if(yorn.equals(ok)JOptionPane.showMessageDialog(null, 该用户已注销!, 注销成功 , JOptionPane.ERROR_MESSAGE);elseJOptionPane.showMessageDialog(null, 该用户不存在, 注销失败 , JOptionPane.ERROR_MESSAGE);catch(Exception e1)e1.printStackTrace() ;break;default:break;/游戏界面代码package zjq;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import .Socket;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;public class zjt extends JFrame int x = 0, y = 0;int a = 0;int x1 = 0, y1 = 0, x2 = 0, y2 = 0, x3 = 0, y3 = 0, x4 = 0, y4 = 0;boolean fa = true, huatu = true, yin = false; int a1 = 0, a2 = 0, a3 = 0, a4 = 0, a5 = 0, a6 = 0, a7 = 0, a8 = 0, a9 = 0; int s = new int10, jj = new int10; JButton congxin, huanse; JLabel jl; public zjt() Container c = getContentPane(); c.setLayout(new FlowLayout(); congxin = new JButton(红队先下); c.add(congxin); huanse = new JButton(蓝队先下); c.add(huanse); jl = new JLabel(); c.add(jl, BorderLayout.SOUTH); addMouseListener(new MouseAdapter() public void mousePressed(MouseEvent event) if (event.isAltDown() repaint(); x = event.getPoint().x; y = event.getPoint().y; int a = mm(x, y); if (yin) jl.setForeground(Color.RED); jl .setText(游戏已结束,请重新开始); else if (sa = 1) jl.setForeground(Color.RED); jl.setText( 此位置有棋子,请另选位置重新下棋 ); else fa = false; if (a = 1) a1 = 1; if (a = 2) a2 = 1; if (a = 3) a3 = 1; if (a = 4) a4 = 1; if (a = 5) a5 = 1; if (a = 6) a6 = 1; if (a = 7) a7 = 1; if (a = 8) a8 = 1; if (a = 9) a9 = 1; jl.setText(); repaint(); sa = 1; );congxin.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) for (int i = 0; i s.length; i+) si = 0; jji = 0; fa = true; repaint(); yin = false; huatu = true; jl.setForeground(Color.black); jl.setText(红队先下); ); huanse.addAction

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论