📄 dbs.java
字号:
}
}
}
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 + -