⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 student.java

📁 一个使用JDBC的简单的用java连接Sybase数据库的例子
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	 		add("North",pp);
	 		
	 		Panel p3=new Panel();
	 		p3.setLayout(new GridLayout(0,3,0,0));
	 		p3.add("West",new Label(""));
	 		p3.add("Center",t1);
	 		p3.add("East",new Label(""));
	 		add("Center",p3);
	 		
	 		Panel p=new Panel();
	 		p.add(new Button("确定"));
	 		p.add(new Button("清除"));
	 		p.add(new Button("退出"));
	 		add("South",p);
	 		show();
	 	}
	 	
	 	public boolean handleEvent(Event e)			//处理修改数据的窗口的事件
	 	{
	 		try
	 		{
		 		if(e.id==Event.ACTION_EVENT)
		 		{
		 			if(("确定").equals(e.arg))
		 			{
		 				String s=t1.getText();
		 				int n=Integer.parseInt(s);
		 				new changeDialog(n,this.location());
		 				return true;
		 			}
		 			
		 			if(("清除").equals(e.arg))
		 			{
		 				t1.setText("");
		 				t1.repaint();
		 				return true;
		 			}
		 			
		 			if(("退出").equals(e.arg))
		 			{
		 				dispose();
		 				return true;
		 			}
		 		}
		 		return false;
		 	}
		 	catch(NumberFormatException ex)
		 	{
		 		new myDialog(this,"输入的学号不存在",this.location());
		 		return false;
		 	}
		 }
	}
	
	class changeDialog extends Frame
	{
		TextField t1,t2,t3,t4,t5;
		int x,y;
		int no;  									//存放学生学号
		changeDialog(int n,Point point)
		{
			super("修改学生数据");
			setBackground(new Color(215,215,215));
			reshape(20+point.x,20+point.y,200+point.x,100+point.y);
			setLayout(new GridLayout(10,0,5,4));
			this.no=n;
			t1=new TextField();
			t2=new TextField();
			t3=new TextField();
			t4=new TextField();
			t5=new TextField();
			
			try											//加载jdbc-odbc桥的驱动
	 			{
	 				Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
	 			}
	 		catch(Exception e){}
	 			
			try                                          //写入数据库
	 			{
	 				String url="jdbc:odbc:student";
	 				Connection cn=DriverManager.getConnection(url,"dba","sql");
	 				String str="SELECT * FROM student WHERE ID=?";
	 				PreparedStatement ps=cn.prepareStatement(str);
	 				
	 				ps.setInt(1,no);
	 				ResultSet rs=ps.executeQuery();
	 				if(rs.next()==false)
	 				{
	 					new myDialog(this,"输入的学号不存在",this.location());
	 				}
	 				else
	 				{
	 					t1.setText(rs.getString("Name"));
	 					t2.setText(rs.getString("age"));
	 					t3.setText(rs.getString("sex"));
	 					t4.setText(rs.getString("email"));
	 					t5.setText(rs.getString("tel"));
	 				}
	 				cn.close();	 					
	 			}
	 			catch(SQLException ex)
	 			{
	 				new myDialog(this,ex.getMessage(),this.location());
	 			}
	 			catch(Exception exc)
	 			{
	 				new myDialog(this,exc.getMessage(),this.location());
	 			}
	 			
	 			Panel pp=new Panel();
		 		pp.add(new Label("学号为"+Integer.toString(n)+"的同学的数据"));
		 		add(pp);
		 		
		 		Panel p2=new Panel();
		 		p2.setLayout(new BorderLayout());
		 		p2.add("West",new Label("姓名"));
		 		p2.add("Center",t1);
		 		add(p2);
		 		Panel p3=new Panel();
		 		p3.setLayout(new BorderLayout());
		 		p3.add("West",new Label("年龄"));
		 		p3.add("Center",t2);
		 		add(p3);
		 		Panel p4=new Panel();
		 		p4.setLayout(new BorderLayout());
		 		p4.add("West",new Label("性别"));
		 		p4.add("Center",t3);
		 		add(p4);
		 		Panel p5=new Panel();
		 		p5.setLayout(new BorderLayout());
		 		p5.add("West",new Label("电子邮件"));
		 		p5.add("Center",t4);
		 		add(p5);
		 		Panel p6=new Panel();
		 		p6.setLayout(new BorderLayout());
		 		p6.add("West",new Label("电话"));
		 		p6.add("Center",t5);
		 		add(p6);
		 		
		 		Panel p7=new Panel();
		 		p7.add(new Button("确定"));
		 		p7.add(new Button("清楚"));
		 		p7.add(new Button("退出"));
		 		add(p7);
		 		add(new Label(""));
		 		
		 		Panel p8=new Panel();
		 		p8.add(new Label("学生学号、年龄为不超过4位的整数"));
		 		add(p8);
		 		
		 		Panel p9=new Panel();
		 		p9.add(new Label("学生姓名和电话不能超过10个字;电子邮件不超过30个字"));
		 		add(p9);
		 		show();
		 	}
		 	
		 	public boolean handleEvent(Event e)			//处理修改数据的窗口的事件
	 	{
	 		if(e.id==Event.ACTION_EVENT)
	 		{
	 			if(("确定").equals(e.arg))
	 			{
	 				changeData(this.no);
	 			}
	 			
	 			if(("清除").equals(e.arg))
	 			{
	 				t1.setText("");
	 				t1.repaint();
	 				t2.setText("");
	 				t2.repaint();
	 				t3.setText("");
	 				t3.repaint();
	 				t4.setText("");
	 				t4.repaint();
	 				t5.setText("");
	 				t5.repaint();
	 			}
	 			
	 			if(("退出").equals(e.arg))
	 			{
	 				dispose();
	 				return true;
	 			}
	 		}
	 		return false;
	 	}
	 	
	 	public void changeData(int n)				//修改数据的程序
	 	{
	 		String st1,st2,st3,st4,st5,st6;
	 		st1=t1.getText();
	 		st2=t2.getText();
	 		st3=t3.getText();
	 		st4=t4.getText();
	 		st5=t5.getText();
	 		
	 		if(st1.length()==0)
	 		{
	 			new myDialog(this,"没有输入姓名",this.location());
	 		}
	 		if(st2.length()==0)
	 		{
	 			new myDialog(this,"没有输入年龄",this.location());
	 		}
	 		if(st3.length()==0)
	 		{
	 			new myDialog(this,"没有输入性别",this.location());
	 		}
	 		if(st4.length()==0)
	 		{
	 			new myDialog(this,"没有输入电子邮件",this.location());
	 		}
	 		if(st5.length()==0)
	 		{
	 			new myDialog(this,"没有输入电话",this.location());
	 		}
	 		else											//连接数据库并进行操作
	 		{
	 			try											//加载jdbc-odbc桥的驱动
	 			{
	 				Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
	 			}
	 			catch(Exception e){}
	 			
	 			try                                          //写入数据库
	 			{
	 				String url="jdbc:odbc:student";
	 				Connection cn=DriverManager.getConnection(url,"dba","sql");
	 				String str="UPDATE student SET ID=?,Name=?,age=?,sex=?,email=?,tel=?";
	 				PreparedStatement ps=cn.prepareStatement(str);
	 				
	 				ps.setString(1,st1);
	 				ps.setInt(2,Integer.parseInt(st2));
	 				ps.setString(3,st3);
	 				ps.setString(4,st4);
	 				ps.setString(5,st5);
	 				ps.setInt(6,n);
	 				
	 				ps.executeUpdate();
	 				
	 				new myDialog(this,"已成功把修改后的数据存入数据库",this.location());
	 				cn.close();
	 			}
	 			catch(SQLException e)
	 			{
	 				if(e.getErrorCode()==8152)
	 				{
	 					new myDialog(this,"输入的数据超过指定长度",this.location());
	 				}
	 				else if(e.getErrorCode()==2627)
	 				{
	 					new myDialog(this,"已存在学号相同的学生",this.location());
	 				}
	 				else
	 				{
	 					new myDialog(this,"程序出错信息:"+e.getMessage(),this.location());
	 				}
	 			}
	 		}
	 	}
	 }
	 
	 
	 class queryWindow extends Frame
	 {
	 	TextField t1;
		int x,y;
		
		queryWindow(Point point)
		{
			super("学生数据查询");
			setBackground(new Color(215,215,215));
			reshape(80+point.x,80+point.y,200+point.x,120+point.y);
	 		setLayout(new GridLayout(5,0,2,5));
	 		
	 		t1=new TextField("");
	 		add(new Label(""));
	 		Panel pp=new Panel();
	 		pp.add(new Label("请输入想要查询的学生的学号"));
	 		add("North",pp);
	 		
	 		Panel p3=new Panel();
	 		p3.setLayout(new GridLayout(0,3,0,0));
	 		p3.add("West",new Label(""));
	 		p3.add("Center",t1);
	 		p3.add("East",new Label(""));
	 		add("Center",p3);
	 		
	 		Panel p=new Panel();
	 		p.add(new Button("确定"));
	 		p.add(new Button("清除"));
	 		p.add(new Button("退出"));
	 		add("South",p);
	 		show();
	 	}
	 	
	 	public boolean handleEvent(Event e)			//处理查询数据的窗口的事件
	 	{
	 		if(e.id==Event.ACTION_EVENT)
	 		{
	 			if(("确定").equals(e.arg))
	 			{
	 				queryData();
	 			}
	 			
	 			if(("清除").equals(e.arg))
	 			{
	 				t1.setText("");
	 				t1.repaint();
	 			}
	 			
	 			if(("退出").equals(e.arg))
	 			{
	 				dispose();
	 				return true;
	 			}
	 		}
	 		return false;
	 	}
	 	
	 	public void queryData()				//查询数据的程序
	 	{
	 		String st1;
	 		st1=t1.getText();
	 		if(st1.length()==0)
	 		{
	 			new myDialog(this,"没有输入学号",this.location());
	 		}
	 		else											//连接数据库并进行操作
	 		{
	 			try											//加载jdbc-odbc桥的驱动
	 			{
	 				Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
	 			}
	 			catch(Exception e){}
	 			
	 			try                                          //更新数据库
	 			{
	 				String url="jdbc:odbc:student";
	 				Connection cn=DriverManager.getConnection(url,"dba","sql");
	 				String str="SELECT * FROM student WHERE ID=?";
	 				PreparedStatement ps=cn.prepareStatement(str);
	 				ps.setInt(1,Integer.parseInt(st1));
	 				ResultSet rs=ps.executeQuery();
	 				
	 				if(rs.next())
	 				{
	 					String t1=rs.getString("Name");
	 					String t2=rs.getString("age");
	 					String t3=rs.getString("sex");
	 					String t4=rs.getString("email");
	 					String t5=rs.getString("tel");
	 				    
	 			        queryDialog qd=new queryDialog(this,this.location());
	 			        qd.setLayout(new GridLayout(0,2,20,3));
	 			        qd.add(new Label("姓名:",Label.RIGHT));
	 			        qd.add(new Label(t1));
	 			        qd.add(new Label("年龄:",Label.RIGHT));
	 			        qd.add(new Label(t2));
	 			        qd.add(new Label("性别:",Label.RIGHT));
	 			        qd.add(new Label(t3));
	 			        qd.add(new Label("电子邮件:",Label.RIGHT));
	 			        qd.add(new Label(t4));
	 			        qd.add(new Label("电话:",Label.RIGHT));
	 			        qd.add(new Label(t5));
	 			        qd.show();
	 			     }
	 			     else
	 			     {
	 			     	new myDialog(this,"输入的学号不存在",this.location());
	 			     }
	 			     cn.close();
	 			   }
	 			   catch(Exception e)
	 			   {
	 			   	new myDialog(this,"程序出错信息"+e.getMessage(),this.location());
	 			   }
	 		}
	 	}
	 }
	 
	 class queryDialog extends Dialog
	 {
	 	queryDialog(Frame f,Point point)
	 	{
	 		super(f,true);
	 		reshape(20+point.x,20+point.y,100+point.x,30+point.y);
	 		setBackground(new Color(215,215,215));
	 	}
	 	
	 	public boolean handleEvent(Event e)
	 	{
	 		if(e.id==Event.WINDOW_DESTROY)
	 		{
	 			dispose();
	 			return true;
	 		}
	 		return false;
	 	}
	 }
}	 			 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -