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

📄 dbs.java

📁 用java编写的dbms
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		
		}	
		}
		
	}
	void jianlisuoyin2()
	{
		suoyin2.clear();
		for(int i=1;i<hang2.size();i++)
		{
			LinkedList list=new LinkedList((LinkedList)hang2.get(0));
			LinkedList l=new LinkedList((LinkedList)hang2.get(i));
			if(((CreatBox)list.get(0)).type.equals("Integer"))
			{
				if(suoyin2.isEmpty())
				{
					index in=new index();
					in.key=((CreatBox)l.get(0)).name;
					in.location=""+1;
					suoyin2.add(in);
				}
				else
				{
					boolean g=true;
					index in=new index();
					in.key=((CreatBox)l.get(0)).name;
					in.location=""+i;
					for(int j=0;j<suoyin2.size();j++)
					{
					
						if(Integer.parseInt(in.key)<Integer.parseInt(((index)suoyin2.get(j)).key))
						{
							suoyin2.add(j,in);
							g=false;break;
						}
					}
					if(g)
					{
						suoyin2.add(in);
					}
				}
				
		
			}
		if(((CreatBox)l.get(0)).type.equals("Character"))
		{
			if(suoyin2.isEmpty())
			{
				index in=new index();
				in.key=((CreatBox)l.get(0)).name;
				in.location=""+1;
				suoyin2.add(in);
			}
			else
			{
					boolean g=true;
					index in=new index();
					in.key=((CreatBox)l.get(0)).name;
					in.location=""+i;
					for(int j=0;j<suoyin2.size();j++)
					{
						int r=(in.key).compareTo(((index)suoyin2.get(j)).key);
						if(r<0)
						{
							suoyin2.add(j,in);
							g=false;break;
						}
					}
					if(g)
					{
						suoyin2.add(in);
					}
				
			
			}
		
		}
		}	
		
	}
	void inputdata()
	{
		int a=0;
		LinkedList l=new LinkedList();
		inputdataFrame=new JFrame("输入数据");
		inputdataFrame.setVisible(true);
		inputdataFrame.setBounds(300,300,600,600);
		Container coni=inputdataFrame.getContentPane();
		if(box.size()!=0)
		{
			l=box;
			a=box.size();
			
		}
		else
		{	
			l=(LinkedList)hang.get(0);
			a=l.size();
			
		}
	
	coni.setLayout(new GridLayout(2,a+1));
	label=new JLabel[a];
	for(int i=0;i<a;i++)
	{	
		CreatBox o=new CreatBox();
		o=(CreatBox)l.get(i);
		label[i]=new JLabel(o.name);
		coni.add(label[i]);	
	}
	b1=new JButton("下一个");
	b1.addActionListener(this);
	coni.add(b1);
	textField=new JTextField[a];
	for(int i=0;i<a;i++)
	{	
		textField[i]=new JTextField(10);
		coni.add(textField[i]);	
	}
	b2=new JButton("完成");
	b2.addActionListener(this);
	coni.add(b2);
			
	inputdataFrame.pack();
}
/////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////inserDataFrame////////////////////////
	void insertDataFrame()
	{
		insertDFrame=new JFrame("插入窗口");
		insertDFrame.setVisible(false);
		insertDFrame.setBounds(100,100,300,300);
		Container coni=insertDFrame.getContentPane();
		LinkedList l=(LinkedList)hang.get(0);
		coni.setLayout(new GridLayout(2,l.size()+1));
		i_label=new JLabel[l.size()];
		for(int i=0;i<l.size();i++)
		{	
			CreatBox o=new CreatBox();
			o=(CreatBox)l.get(i);
			i_label[i]=new JLabel(o.name);
			coni.add(i_label[i]);	
	}
	insert_b1=new JButton("下一个");
	insert_b1.addActionListener(this);
	coni.add(insert_b1);
	i_textField=new JTextField[l.size()];
	for(int i=0;i<l.size();i++)
	{	
		i_textField[i]=new JTextField(10);
		coni.add(i_textField[i]);	
	}
	insert_b2=new JButton("完成");
	insert_b2.addActionListener(this);
	coni.add(insert_b2);
			
	insertDFrame.pack();
}
//////////////////数据插入函数/////////////////////
	void insertdata()
	{
		int inn=Integer.parseInt(fi.getText());
		object o=new object();
		LinkedList l=(LinkedList)hang.get(0);
		for(int i=0;i<l.size();i++)
		{
			CreatBox oo=new CreatBox();
			oo=(CreatBox)l.get(i);
			o.ob.add(oo);	
		}
		for(int i=0;i<o.ob.size();i++)
		{	
			
			CreatBox oo=new CreatBox((CreatBox)o.ob.get(i));
			oo.name=i_textField[i].getText();
			o.ob.set(i,oo);
			i_textField[i].setText("");		
		}
		hang.add(inn,o.ob);	
		
		
		if(((CreatBox)o.ob.get(0)).type.equals("Integer"))
		{
			if(suoyin.isEmpty())
			{
				index in=new index();
				in.key=((CreatBox)o.ob.get(0)).name;
				in.location=""+1;
				suoyin.add(in);
			}
			else
			{
					boolean g=true;
					index in=new index();
					in.key=((CreatBox)o.ob.get(0)).name;
					in.location=""+inn;
					for(int i=0;i<suoyin.size();i++)
					{
						index dex=new index((index)suoyin.get(i));
						int aa=Integer.parseInt(dex.location);
						if(aa>=inn)
						{
							aa++;
							index x=new index();
							x.key=dex.key;
							x.location=""+aa;
							suoyin.set(i,x);
						}
					}
					for(int i=0;i<suoyin.size();i++)
					{
					
						if(Integer.parseInt(in.key)<Integer.parseInt(((index)suoyin.get(i)).key))
						{
							suoyin.add(i,in);
							g=false;break;
						}
					}
					if(g)
					{
						suoyin.add(in);
					}
				
			
			}
		
		}
		if(((CreatBox)o.ob.get(0)).type.equals("Character"))
		{
			if(suoyin.isEmpty())
			{
				index in=new index();
				in.key=((CreatBox)o.ob.get(0)).name;
				in.location=""+1;
				suoyin.add(in);
			}
			else
			{
					boolean g=true;
					index in=new index();
					in.key=((CreatBox)o.ob.get(0)).name;
					in.location=""+inn;
					for(int i=0;i<suoyin.size();i++)
					{
						index dex=new index((index)suoyin.get(i));
						int aa=Integer.parseInt(dex.location);
						if(aa>=inn)
						{
							aa++;
							index x=new index();
							x.key=dex.key;
							x.location=""+aa;
							suoyin.set(i,x);
						}
					}
					for(int i=0;i<suoyin.size();i++)
					{
						int r=(in.key).compareTo(((index)suoyin.get(i)).key);
						if(r<0)
						{
							suoyin.add(i,in);
							g=false;break;
						}
					}
					if(g)
					{
						suoyin.add(in);
					}
				
			
			}
		
		}		
	}
	//////////////数据删除函数/////////////////////////

	void deleteBox()
	{
		int in=Integer.parseInt(f.getText());
		hang.remove(in);
		for(int i=0;i<suoyin.size();i++)
		{
			String s=new String(((index)suoyin.get(i)).location);
			int a=Integer.parseInt(s);
			if(a==in)
			{
				suoyin.remove(i);	
			}
		}
	}
	///////////////////////////判定是字符型还是整型///////
	boolean isInt(String s)
	{
		char a[]=s.toCharArray();
		for(int i=0;i<a.length;i++)
		{
		   	char b=a[i];
			if(Character.isLetter(b))
			{
				return false;	
			}
		}
		return true;
		
	}
	boolean zhujianxiangrong(String s)
	{
		for(int i=0;i<hang.size();i++)
		{
			LinkedList l=new LinkedList((LinkedList)hang.get(i));
			CreatBox c=new CreatBox((CreatBox)l.get(0));
			if(c.name.equals(s))
			{
				return true;
			}

		}
	  	return false;	
	}
	void newbox()//////////////////////数据输入函数/////////////
	{
		boolean ifadd=true;
		int a=0;
		LinkedList l=new LinkedList();
		if(box.size()!=0)
		{
			l=box;
			a=box.size();
		}
		else
		{	
			l=(LinkedList)hang.get(0);
			a=l.size();
			
		}
		object o=new object();
		for(int i=0;i<a;i++)
		{
			CreatBox oo=new CreatBox();
			oo=(CreatBox)l.get(i);
			o.ob.add(oo);	
		}
		for(int i=0;i<o.ob.size();i++)
		{	
			
			CreatBox oo=new CreatBox((CreatBox)o.ob.get(i));
			String s=textField[i].getText();
			if(oo.type.equals("Integer"))
			{
				if(!isInt(s))
				{
					ifadd=false;
					JOptionPane.showMessageDialog(null,"输入"+"第"+i+"数据类型错误\n请重新输入");
					
				}
			}
			else if(oo.type.equals("Character"))
			{
				if(isInt(s))
				{
					ifadd=false;
					JOptionPane.showMessageDialog(null,"输入"+"第"+i+"数据类型错误\n请重新输入");
					
				}
			}
		}
		if(!ifadd)
		{
			for(int i=0;i<o.ob.size();i++)
			{
				//textField[i].setText("");	
			}
		//	o.ob.clear();
			
		}
		else
		{  
			if(zhujianxiangrong(textField[0].getText()))
			{
				JOptionPane.showMessageDialog(null,"所输入主键值有重复\n重新输入");
			}
			else if(!zhujianxiangrong(textField[0].getText()))
			{
				for(int i=0;i<o.ob.size();i++)
				{
					CreatBox oo=new CreatBox((CreatBox)o.ob.get(i));
					String s=textField[i].getText();
					oo.name=textField[i].getText();
					o.ob.set(i,oo);
					textField[i].setText("");	
				}
				hang.add(o.ob);	
			}
			
		}
		if(((CreatBox)o.ob.get(0)).type.equals("Integer"))
		{
			if(suoyin.isEmpty())
			{
				index in=new index();
				in.key=((CreatBox)o.ob.get(0)).name;
				in.location=""+1;
				suoyin.add(in);
			}
			else
			{
					boolean g=true;
					index in=new index();
					in.key=((CreatBox)o.ob.get(0)).name;
					in.location=""+(hang.size()-1);
					for(int i=0;i<suoyin.size();i++)
					{
					
						if(Integer.parseInt(in.key)<Integer.parseInt(((index)suoyin.get(i)).key))
						{
							suoyin.add(i,in);
							g=false;break;
						}
					}
					if(g)
					{
						suoyin.add(in);
					}
			}
		
		}
		if(((CreatBox)o.ob.get(0)).type.equals("Character"))
		{
			if(suoyin.isEmpty())
			{
				index in=new index();
				in.key=((CreatBox)o.ob.get(0)).name;
				in.location=""+1;
				suoyin.add(in);
			}
			else
			{
					boolean g=true;
					index in=new index();
					in.key=((CreatBox)o.ob.get(0)).name;
					in.location=""+(hang.size()-1);
					for(int i=0;i<suoyin.size();i++)
					{
						int r=(in.key).compareTo(((index)suoyin.get(i)).key);
						if(r<0)
						{
							suoyin.add(i,in);
							g=false;break;
						}
					}
					if(g)
					{
						suoyin.add(in);
					}
				
			
			}
		
		}		
	}
	void fileSave(LinkedList link)/////////////////////////////文件保存
	{
		
		save.setVisible(true);
			if(save.getFile()!=null)
			{
				LinkedList newhang=new LinkedList();
				for(int k=0;k<link.size();k++)
				{
					object o=new object();
					LinkedList l=(LinkedList)link.get(k);
					for(int i=0;i<l.size();i++)
					{
						CreatBox c=new CreatBox((CreatBox)l.get(i));
						o.ob.add(c.name);	
					}
					newhang.add(o.ob);
				}
					object o1=new object();
					LinkedList l=new LinkedList((LinkedList)link.get(0));
					for(int i=0;i<l.size();i++)
					{
						
						CreatBox b=new CreatBox();
						b=(CreatBox)l.get(i);
						o1.ob.add(b.type);		
					}
					newhang.add(o1.ob);
					object o2=new object();
					for(int i=0;i<l.size();i++)
					{
						CreatBox b=new CreatBox();
						b=(CreatBox)l.get(i);
						o2.ob.add(b.leg);		
					}	
					newhang.add(o2.ob);
					object o3=new object();
					for(int i=0;i<l.size();i++)
					{
						CreatBox b=new CreatBox();
						b=(CreatBox)l.get(i);
						o3.ob.add(b.NULL);		
					}	newhang.add(o3.ob);
				try
				{
					File file=new File(save.getDirectory(),save.getFile());
					FileOutputStream fo=new FileOutputStream(file);
					ObjectOutputStream out=new ObjectOutputStream(fo);
					
					out.writeObject(newhang);
					fo.close();
					out.close();
				}
				catch(IOException e2)
				{
					System.out.print("error");
				}
			}
	}
	void fileOpen()////////////打开文件
	{
			
			load.setVisible(true);
			if(load.getFile()!=null)
			{
				hang.clear();
				box.clear();
				suoyin.clear();
				try
				{
					File file=new File(load.getDirectory(),load.getFile());
					filename[0]=""+file.getName();
					FileInputStream fi=new FileInputStream(file);
					ObjectInputStream oi=new ObjectInputStream(fi);
					LinkedList newhang=((LinkedList)oi.readObject());
					fi.close();
					oi.close();
					
					for(int i=0;i<newhang.size()-3;i++)
					{   	
						object o=new object();
						LinkedList l=new LinkedList((LinkedList)newhang.get(i));
						for(int j=0;j<l.size();j++)
						{  
							CreatBox c=new CreatBox();
							c.name=(String)l.get(j);
							c.type=(String)((LinkedList)newhang.get(newhang.size()-3)).get(j);
							c.leg=(String)((LinkedList)newhang.get(newhang.size()-2)).get(j);
							c.NULL=(String)((LinkedList)newhang.get(newhang.size()-1)).get(j);
							o.ob.add(c);
						}
						hang.add(o.ob);
						
					}jianlisuoyin();
					
					

⌨️ 快捷键说明

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