📄 datebase.java
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.util.*;
import javax.swing.event.*;
import java.util.regex.*;
import java.io.*;
class Writerin{
Writerin(String[][][] date,int[][] asi) throws Exception{
FileWriter tofile=new FileWriter("data.txt");
BufferedWriter get=new BufferedWriter(tofile);
for(int i=0;i<10;i++)
{
for(int j=0;j<=asi[1][i];j++)
{
for(int k=0;k<=asi[2][i];k++)
{
get.write(date[j][k][i]);
get.write(" ");
}
get.newLine();
}
get.newLine();
}
get.close();
}
}
class List extends JFrame{
// JTextArea ta;
Container pane;
JTable table;
List(String s1,String[][][] date,int[][] asi,int c)
{
super(s1);
String[][] tw;
int m=0,n=0,len=0;
tw=new String[100][50];
for(int i=0;i<100;i++)
{
for(int j=0;j<50;j++)
{
tw[i][j]="";
}
}
String[] name;
for(int i=0;i<c;i++)
{
if(asi[2][i]>=len)
{
len=asi[2][i];
}
}
name=new String[len];
name[0]="表名";
for(int i=1;i<len;i++)
{
name[i]="列名";
}
for(int i=0;i<10;i++)
{
for(int j=0;j<=asi[1][i];j++)
{
n=0;
for(int k=0;k<=asi[2][i];k++)
{
tw[m][n]=date[j][k][i];
n=n+1;
}
m=m+1;
}
}
//JFrame frame=new JFrame("查看数据库中具体信息");
/* ta=new JTextArea(10,20);
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
for(int k=0;k<40;k++)
{
ta.append(date[j][k][i]+" ");
}
ta.append("\n");
}
ta.append("\n");//追加文本
}*/
pane=getContentPane();
table=new JTable(tw,name);
table.setRowHeight(20);
pane.removeAll();
pane.add(new JScrollPane(table),BorderLayout.CENTER);
//frame.a
// pane.add(ta);
setBounds(450,350,400,300);
//pack();
setVisible(true);
validate();
setDefaultLookAndFeelDecorated(true);
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// (ta.getDocument()).addDocumentListener(this);
}
/*public void changedUpdate(DocumentEvent e)
{
String newt;
newt=ta.getText();
if(newt!=ta.getText())
{
;
}
}
public void insertUpdate(DocumentEvent e){
}
public void removeUpdate(DocumentEvent e){
}*/
}
class shadow extends JFrame
{
JTextArea ta;
Container spane;
shadow(String[] shadow1,int[][] asi,int flas,int shadow,String[][][] date,String want){
JFrame frame=new JFrame("查询结果:");
ta=new JTextArea(10,20);
if(shadow==0){
for(int i=1;i<=asi[1][flas];i++)
{
ta.append(shadow1[i]);
ta.append("\n");//追加文本
}
}
else if(shadow==2){
for(int i=1;i<=asi[1][flas];i++){
for(int j=1;j<=asi[2][flas];j++)
{
ta.append(date[i][j][flas]);
ta.append(" ");
}
ta.append("\n");
}
}
else if(shadow==3){
ta.append(want);
}
spane=getContentPane();
spane.add(ta);
setBounds(450,350,400,300);
//pack();
setVisible(true);
validate();
setDefaultLookAndFeelDecorated(true);
}
}
class Helplist extends JFrame{
JLabel helplist1;
JLabel helplist2;
JLabel helplist3;
JLabel helplist4;
JLabel helplist5;
JLabel helplist6;
JLabel helplist7;
JLabel helplist8;
JLabel helplist9;
JLabel helplist10;
Container pane1;
Helplist(String s2){
super(s2);
helplist1=new JLabel("建立表格格式如下:");
helplist2=new JLabel("create table 表名(列名1 类型[长度],列名2 类型[长度]...;)");
helplist3=new JLabel("删除表格格式如下:");
helplist4=new JLabel("drop table 表名;");
helplist5=new JLabel("插入表格格式如下:");
helplist6=new JLabel("insert into 关系名 values('列名','列名'...);");
helplist7=new JLabel("添加属性格式如下:");
helplist8=new JLabel("alter table 表名 add 列名 类型[长度];");
helplist9=new JLabel("删除属性格式如下:");
helplist10=new JLabel("drop table 表名 add 列名");
pane1=getContentPane();
GridLayout grid=new GridLayout(6,1);
pane1.setLayout(grid);
pane1.add(helplist1);
pane1.add(helplist2);
pane1.add(helplist3);
pane1.add(helplist4);
pane1.add(helplist5);
pane1.add(helplist6);
pane1.add(helplist7);
pane1.add(helplist8);
pane1.add(helplist9);
pane1.add(helplist10);
setBounds(450,350,400,300);
//pack();
setVisible(true);
validate();
setDefaultLookAndFeelDecorated(true);
}
}
class Outlook extends JFrame implements ActionListener,DocumentListener{
JMenuBar menubar;
JMenu menu,help;
JTextArea text;
JMenuItem itemNew,itemLook,itemFind,help1,itemSave;
JLabel label;
JButton sure,change,look,find;
Box baseBox,boxV1,boxV2;
Container con;
JPanel panel;
int n=0,m=0,a=0,b=0,c=0,y=0;
String[][][] date;
int asi[][];
Outlook(String s){
//JFrame f=new JFrame("date base program");
super(s);
date=new String[100][100][20];
asi=new int[3][20];
sure=new JButton("确定");
change=new JButton("重新输入");
look=new JButton("查看");
find=new JButton("查询数据");
label=new JLabel();
menubar=new JMenuBar();
menu=new JMenu("文件");
help=new JMenu("帮助");
itemNew=new JMenuItem("新建");
itemLook=new JMenuItem("查看");
itemFind=new JMenuItem("查询数据");
help1=new JMenuItem("帮助");
itemSave=new JMenuItem("保存");
menu.add(itemNew);
menu.add(itemLook);
menu.add(itemSave);
menu.add(itemFind);
help.add(help1);
menubar.add(menu);
menubar.add(help);
setJMenuBar(menubar);
text=new JTextArea();
con=getContentPane();
panel=new JPanel();
panel.setLayout(new GridLayout(2,2));
panel.add(sure);
panel.add(change);
panel.add(look);
panel.add(find);
con.setLayout(new BorderLayout());
con.add(label,BorderLayout.NORTH);
con.add(text,BorderLayout.CENTER);
con.add(panel,BorderLayout.SOUTH);
//con.add(baseBox);
setBounds(350,400,350,250);
//pack();
setVisible(true);
validate();
this.setDefaultLookAndFeelDecorated(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
sure.setEnabled(false);
sure.addActionListener(this);
look.addActionListener(this);
change.addActionListener(this);
find.addActionListener(this);
itemLook.addActionListener(this);
itemSave.addActionListener(this);
help1.addActionListener(this);
(text.getDocument()).addDocumentListener(this);
}
public void changedUpdate(DocumentEvent e)
{
if(!text.getText().equals(""))
{
sure.setEnabled(true);
//change.setEnabled(true);
}
else
{
sure.setEnabled(false);
//change.setEnabled(false);
}
}
public void insertUpdate(DocumentEvent e){
changedUpdate(e);
}
public void removeUpdate(DocumentEvent e){
changedUpdate(e);
}
public void actionPerformed(ActionEvent e){
String t;
char ch2[]=new char[100];
final char ch1[][]=new char[6][6];
ch1[0]=new char[]{'c','r','e','a','t','e'};
ch1[1]=new char[]{'d','r','o','p'};
ch1[2]=new char[]{'i','n','s','e','r','t'};
ch1[3]=new char[]{'d','e','l','e','t','e'};
ch1[4]=new char[]{'a','l','t','e','r'};
ch1[5]=new char[]{'s','e','l','e','c','t'};
int asa;//为了存放每个表存放到了多少行的元素,以便继续下次存放;有待初始化
if(y==0)
{
for(int i=0;i<20;i++)
{
for(int j=0;j<100;j++)
{
for(int k=0;k<100;k++)
{
date[k][j][i]="";
}
}
}
for(int i=0;i<20;i++)
{
asi[1][i]=1;
}
y=1;
}
if(e.getSource()==sure){
t=text.getText();
text.setText(null);
t.getChars(0,t.length()-1,ch2,0);
for(int i=0;i<6;i++)
{
n=0;
for(int j=0;j<4;j++)
{
if(ch1[i][j]==ch2[j])
{
n=n+1;
}
}
if(n==4){m=i;}
}
if(m==0){ //建表
int num=0,sta=0,end=0,num8=0,an,bn;
an=0;
bn=0;
for(int i=0;i<ch2.length;i++)
{
if((ch2[i]==' ')||(ch2[i]=='('))
{
num=num+1;
num8=i;
if(num==2)
{
sta=i;
}
else
if(num==3){
end=i;
end=end-sta;
}
}
}
date[0][0][c]=new String(ch2,sta+1,end-1);
bn=bn+1;
int num1=0,num2=0,star=0,endr=0;
for(int i=0;i<ch2.length;i++)
{
if((ch2[i]=='(')||(ch2[i]==','))
{
num1=num1+1;
star=i;
}
else
if(ch2[i]==' ')
{
num2=num2+1;
endr=i;
endr=endr-star;
if((num1==num2-2)&&(num1>=1))
{
date[0][bn][c]=new String(ch2,star+1,endr-1);
bn=bn+1;
}
}
}
asi[2][c]=bn;
asi[0][c]=c;
asi[1][c]=1;
c=c+1;
}
else if(m==1){ //删除表
int num3=0,num4=0,stad=0,endd=0,num9=0;
String name;
name="";
for(int i=0;i<ch2.length;i++)
{
if(ch2[i]==' ')
{
num3=num3+1;
num9=i;
}
if(num3==2)
{
name=new String(ch2,num9,ch2.length-1-num9);
}
}
for(int i=0;i<=c;i++)
{
if(date[0][0][i]==name)
{
date[0][0][i]=null;
for(int j=0;j<20;j++)
{
for(int k=0;k<20;k++)
{
date[j][k][i]=null;
}
}
}
}
}
else if(m==2){
//插入表
int num4=0,num5=0,stai=0,endi=0,flag=0,num6=0,num6i=0,num7=0,num7i=0,num10=0,num11=0;
String namec,nameb;
namec="";
int ai=1,bi=1;
for(int i=0;i<ch2.length;i++)
{
if(ch2[i]==' ')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -