第一篇:人事管理系统数据库源代码
using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;
namespace WebApplication1 { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e){
}
protected void Button1_Click(object sender, EventArgs e){ Response.Redirect(“~/登录.aspx”);
}
protected void Button2_Click(object sender, EventArgs e){ Response.Redirect(“~/人员信息查询.aspx”);}
protected void Button3_Click(object sender, EventArgs e){ Response.Redirect(“~/人员修改.aspx”);}
protected void Button4_Click(object sender, EventArgs e){ Response.Redirect(“~/部门信息.aspx”);}
protected void Button5_Click(object sender, EventArgs e){ Response.Redirect(“~/工资信息.aspx”);} } }
using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;namespace WebApplication1 { public partial class 部门信息 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e){
}
protected void Button1_Click(object sender, EventArgs e){ bool find =false;SqlConnection con=new SqlConnection(“server=localhost;Integrated Security=SSPI;database=人事管理系统”);con.Open();string cmdstr=“select * from 部门表”;SqlDataAdapter da=new SqlDataAdapter(cmdstr,con);DataSet ds=new DataSet();da.Fill(ds);for(int i=0;i TextBox2.Text=ds.Tables[0].Rows[i][“部门代码”].ToString();TextBox3.Text=ds.Tables[0].Rows[i][“部门名称”].ToString(); find=true;} } } if(find == false){ Response.Write(“”);con.Close();} } protected void Button2_Click(object sender, EventArgs e){ Response.Redirect(“~/Default.aspx”);} } } using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;using System.Data.SqlTypes;namespace WebApplication1 { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e){ } protected void TextBox1_TextChanged(object sender, EventArgs e){ } protected void Button1_Click(object sender, EventArgs e){ SqlConnection con = new SqlConnection(“server=localhost;Integrated Security=SSPI;database=人事管理系统”); string strCount;strCount = “select * from 人事表”;con.Open();SqlCommand com = new SqlCommand(strCount, con);SqlDataReader dr = com.ExecuteReader();string strUsername = “", strPassword = ”“; while(dr.Read()){ if(TextBox1.Text == dr[”编号“].ToString()||TextBox2.Text == dr[”用户密码“].ToString()){ strUsername = dr[”编号“].ToString();strPassword = dr[”用户密码“].ToString();break;} } dr.Close();con.Close();if(strUsername == ”“){ Response.Write(”“);return;} } protected void Button2_Click(object sender, EventArgs e){ Response.Redirect(”~/Default.aspx“); } } } using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient; namespace WebApplication1 { public partial class 工资信息 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e){ } protected void TextBox2_TextChanged(object sender, EventArgs e){ } protected void TextBox5_TextChanged(object sender, EventArgs e){ } protected void Button1_Click(object sender, EventArgs e){ bool find = false;SqlConnection con = new SqlConnection(”server=localhost;Integrated Security=SSPI;database=人事管理系统“);con.Open();string cmdstr = ”select * from 工资表“;SqlDataAdapter da = new SqlDataAdapter(cmdstr, con);DataSet ds = new DataSet();da.Fill(ds);for(int i = 0;i < ds.Tables[0].Rows.Count;i++){ for(int j = 0;j < ds.Tables[0].Columns.Count;j++){ String data =(ds.Tables[0].Rows[i][j].ToString()).Trim();if(data == TextBox1.Text.Trim()){ TextBox2.Text = ds.Tables[0].Rows[i][”应发工资“].ToString();TextBox3.Text = ds.Tables[0].Rows[i][”岗位津贴“].ToString();TextBox4.Text = ds.Tables[0].Rows[i][”奖励“].ToString();TextBox5.Text = ds.Tables[0].Rows[i][”保险“].ToString(); find = true;} } } if(find == false){ Response.Write(”“);con.Close();} } protected void Button2_Click(object sender, EventArgs e){ Response.Redirect(”~/Default.aspx“);} } } using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;namespace WebApplication1 { public partial class 人员信息 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e){ } protected void Button1_Click(object sender, EventArgs e){ Response.Redirect(”~/Default.aspx“);} protected void Button2_Click(object sender, EventArgs e){ bool find =false;SqlConnection con = new SqlConnection(”server=localhost;Integrated Security=SSPI;database=人事管理系统“);con.Open();string cmdstr=”select * from 工资表“;SqlDataAdapter da=new SqlDataAdapter(cmdstr,con);DataSet ds=new DataSet();da.Fill(ds);for(int i=0;i TextBox2.Text=ds.Tables[0].Rows[i][”应发工资“].ToString();TextBox3.Text=ds.Tables[0].Rows[i][”岗位津贴“].ToString();TextBox4.Text=ds.Tables[0].Rows[i][”奖励“].ToString();TextBox5.Text = ds.Tables[0].Rows[i][”保险“].ToString(); find=true;} } } if(find == false){ Response.Write(”“);con.Close();} } } } using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.SqlClient;namespace WebApplication1 { public partial class 人员修改 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e){ } protected void TextBox5_TextChanged(object sender, EventArgs e){ } protected void Button2_Click(object sender, EventArgs e){ SqlConnection con=new SqlConnection(”server=localhost;Integrated Security=SSPI;database=人事管理系统“);con.Open();string insert=”insert into 人事表(员工号,姓名,性别,职称,学历)values(“+”“+ TextBox1.Text.Trim()+”“+”,“+”“ + TextBox2.Text.Trim()+”“+”,“+ TextBox3.Text.Trim()+ ”,“ +”“+ TextBox4.Text.Trim()+”“+”,“+”“ +TextBox5.Text.Trim()+ ”“+”)“;Response.Write(insert);SqlCommand cmd1=new SqlCommand(insert,con); con.Close();} protected void Button1_Click(object sender, EventArgs e){ Response.Redirect(”~/Default.aspx");} protected void GridView1_SelectedIndexChanged(object sender, EventArgs e){ } } } #include char xm[7];char xb[3];char sr[15];char whcd[13];char zc[17];char sfzh[19];char lxdh[12];int gl;int nl;};struct member_info member[N+1];int CurrentCount=0;void input(){ char sfjx=1; while(sfjx!=0) { if(CurrentCount==N) { printf(“n人数已达上限,不能添加!!n”); sfjx=0; } else { CurrentCount++; printf(“n请输入员工信息(姓名 性别 生日 年龄 文化程度 联系电话 身份证号码 工龄 职称):n”); scanf(“%s%s%s%d%s%s%s%d%s”,member[CurrentCount].xm,member[CurrentCount].xb,member[CurrentCount].sr,&member[CurrentCount].nl,member[CurrentCount].whcd,member[CurrentCount].lxdh,member[CurrentCount].sfzh,&member[CurrentCount].gl,member[CurrentCount].zc); printf(“n是否继续(0--结束,其它--继续):”); scanf(“%d”,&sfjx); } } printf(“人员已排序”);int i,j; for(i=1;i for(j=CurrentCount;j>i;j--) if(strcmp(member[j].sfzh,member[j-1].sfzh)<0) { member[0]=member[j]; member[j]=member[j-1]; member[j-1]=member[0]; } printf(“n 人事基本信息表n”); printf(“ 序号 姓名 性别 生日 年龄 文化程度 联系电话 身份证号码 工龄 职称n”); for(i=1;i<=CurrentCount;i++) printf(“%4d %6s%3s%11s%3d%8s%12s%20s%3d%5sn”,i,member[i].xm,member[i].xb,member[i].sr,member[i].nl,member[i].whcd,member[i].lxdh,member[i].sfzh,member[i].gl,member[i].zc); system(“pause”);} void save(){ FILE *fp; fp=fopen(“ygjbxx.txt”,“w”); if(fp==NULL) printf(“n文件打开不成功,信息无法保存!!n”); else { fprintf(fp,“%d”,CurrentCount); for(int i=1;i<=CurrentCount;i++) fprintf(fp,“n%8s%4s%16s%4d%14s%13s%20s%4d%18s”,member[i].xm,member[i].xb,member[i].sr,member[i].nl,member[i].whcd,member[i].lxdh,member[i].sfzh,member[i].gl,member[i].zc); fclose(fp); printf(“n信息已成功保存!!n”); } system(“pause”);} void read(){ FILE *fp; fp=fopen(“ygjbxx.txt”,“r”); if(fp==NULL) printf(“n文件打开不成功,信息无法读取!!n”); else { fscanf(fp,“%d”,&CurrentCount); for(int i=1;i<=CurrentCount;i++) { fscanf(fp,“%s%s%s%d%s%s%s%d%s”,member[i].xm,member[i].xb,member[i].sr,&member[i].nl,member[i].whcd,member[i].lxdh,member[i].sfzh,&member[i].gl,member[i].zc); printf(“姓名:%s 性别:%s 生日:%s 年龄:%d 文化程度: %s 联系电话: %s 身份证号码: %s 工龄: %d 职称: %sn”,member[i].xm,member[i].xb,member[i].sr,member[i].nl,member[i].whcd,member[i].lxdh,member[i].sfzh,member[i].gl,member[i].zc); } fclose(fp); printf(“n信息已成功读取!!n”); } system(“pause”);} void search(){ char dcsfzh[19]; int sfjx=1,i; while(sfjx!=0) { printf(“n请输入一个待查员工的身份证号码:”); scanf(“%s”,dcsfzh); strcpy(member[0].sfzh,dcsfzh); i=CurrentCount; while(strcmp(member[i].sfzh,dcsfzh)!=0) i--; if(i==0) printf(“查无此人!!n”); else { printf(“n此人详细信息如下:n”); printf(“姓名:%s 性别:%s 生日:%s 年龄:%d 文化程度: %s 联系电话: %s 身份证号码: %s 工龄: %d 职称: %sn”,member[i].xm,member[i].xb,member[i].sr,member[i].nl,member[i].whcd,member[i].lxdh,member[i].sfzh,member[i].gl,member[i].zc); } printf(“n是否继续(0--结束,其它--继续):”); scanf(“%d”,&sfjx); } system(“pause”);} void del(){ char dcsfzh[19]; int sfjx=1,i,j; while(sfjx!=0) { printf(“n请输入一个待删员工的身份证号码:”); scanf(“%s”,dcsfzh); strcpy(member[0].sfzh,dcsfzh); i=CurrentCount; while(strcmp(member[i].sfzh,dcsfzh)!=0) i--; if(i==0) printf(“查无此人!!n”); else { printf(“n此人详细信息如下:n”); printf(“姓名:%s 性别:%s 生日:%s 年龄:%d 文化程度: %s 联系电话: %s 身份证号码: %s 工龄: %d 职称: %sn”,member[i].xm,member[i].xb,member[i].sr,member[i].nl,member[i].whcd,member[i].lxdh,member[i].sfzh,member[i].gl,member[i].zc); printf(“n按任意键开始删除......n”); system(“pause”); for(j=i+1;j<=CurrentCount;j++) member[j-1]=member[j]; CurrentCount--; printf(“n已成功删除......n”); system(“pause”); } printf(“n是否继续(0--结束,其它--继续):”); scanf(“%d”,&sfjx); } system(“pause”);} void modify(){ char dcsfzh[19]; int sfjx=1,i; while(sfjx!=0) { printf(“n请输入一个待修改员工的身份证号码:”); scanf(“%s”,dcsfzh); strcpy(member[0].sfzh,dcsfzh); i=CurrentCount; while(strcmp(member[i].sfzh,dcsfzh)!=0) i--; if(i==0) printf(“查无此人!!n”); else { printf(“n此人详细信息如下:n”); printf(“姓名:%s 性别:%s 生日:%s 年龄:%d 文化程度: %s 联系电话: %s 身份证号码: %s 工龄: %d 职称: %sn”,member[i].xm,member[i].xb,member[i].sr,member[i].nl,member[i].whcd,member[i].lxdh,member[i].sfzh,member[i].gl,member[i].zc); printf(“n请输入新内容......n”); printf(“n请输入人员相关信息(姓名 性别 生日 年龄 文化程度 联系电话 身份证号码 工龄 职称):”); scanf(“%s%s%s%d%s%s%s%d%s”,member[CurrentCount].xm,member[CurrentCount].xb,member[CurrentCount].sr,&member[CurrentCount].nl,member[CurrentCount].whcd,member[CurrentCount].lxdh,member[CurrentCount].sfzh,&member[CurrentCount].gl,member[CurrentCount].zc); printf(“n已成功修改......n”); system(“pause”); } printf(“n是否继续(0--结束,其它--继续):”); scanf(“%d”,&sfjx); } system(“pause”);} int check(){ int count=0,name,pass; while(count<=2) { printf(“n请输入用户名及密码:”); scanf(“%d%d”,&name,&pass); count++; if((name==1)&&(pass==1)) count=10; else if(count>2) count=5; } if(count==10) return 0; else return 1;} struct mem_gz { float jbgz;float cql;float jj;float kk;float grsd;float sf;};struct mem_gz mem[N+1];void inputgz(){ char sfjx=1;CurrentCount=0; while(sfjx!=0) { if(CurrentCount==N) { printf(“n工资已添加完毕,无法添加!!n”); sfjx=0; } else { CurrentCount++; printf(“请输入身份证号码为:%s的员工工资资料n”,member[CurrentCount].sfzh); printf(“n请输入员工工资信息(基本工资 考勤 奖金 扣款 个人所得税):n”); scanf(“%f%f%f%f%f”,&mem[CurrentCount].jbgz,&mem[CurrentCount].cql,&mem[CurrentCount].jj,&mem[CurrentCount].kk,&mem[CurrentCount].grsd); mem[CurrentCount].sf=mem[CurrentCount].jbgz*mem[CurrentCount].cql+mem[CurrentCount].jj-mem[CurrentCount].kk-mem[CurrentCount].grsd; } printf(“n是否继续(0--结束,其它--继续):n”); scanf(“%d”,&sfjx); } system(“pause”);} void savegz(){ FILE *fq; fq=fopen(“yggzxx.txt”,“w”); if(fq==NULL) printf(“n文件打开不成功,信息无法保存!!n”); else { fprintf(fq,“%d”,CurrentCount); for(int i=1;i<=CurrentCount;i++) fprintf(fq,“n%f %f %f %f %f %f”,mem[i].jbgz,mem[i].cql,mem[i].jj,mem[i].kk,mem[i].grsd,mem[i].sf); fclose(fq); printf(“n信息已成功保存!!n”); } system(“pause”);} void readgz(){ FILE *fq; fq=fopen(“yggzxx.txt”,“r”); if(fq==NULL) printf(“n文件打开不成功,信息无法读取!!n”); else { fscanf(fq,“%d”,&CurrentCount); for(int i=1;i<=CurrentCount;i++) { fscanf(fq,“%f%f%f%f%f%f”,&mem[i].jbgz,&mem[i].cql,&mem[i].jj,&mem[i].kk,&mem[i].grsd,&mem[i].sf); printf(“基本工资: %f 考勤: %f 奖金: %f 扣款: %f 个人所得税: %f 实发工资:%fn”,mem[i].jbgz,mem[i].cql,mem[i].jj,mem[i].kk,mem[i].grsd,mem[i].sf); } fclose(fq); printf(“n信息已成功读取!!n”); } system(“pause”);} void searchgz(){ int dcbh; int sfjx=1; while(sfjx!=0) { printf(“n请输入一个待查员工编号(身份证号从小到大的顺序):”); scanf(“%d”,&dcbh); if(dcbh<1||dcbh>CurrentCount) printf(“查无此人!!n”); else { printf(“n此人工资信息如下:n”); printf(“基本工资: %f 考勤: %f 奖金: %f 扣款: %f 个人所得税: %f 实发工资:%fn”,mem[dcbh].jbgz,mem[dcbh].cql,mem[dcbh].jj,mem[dcbh].kk,mem[dcbh].grsd,mem[dcbh].sf); } printf(“n是否继续(0--结束,其它--继续):”); scanf(“%d”,&sfjx); } system(“pause”);} void delgz(){ int dcbh; int sfjx=1,j; while(sfjx!=0) { printf(“n请输入一个待删工资的编号:”); scanf(“%d”,&dcbh); if(dcbh<1||dcbh>CurrentCount) printf(“查无此人!!n”); else { printf(“n此人工资信息如下:n”); printf(“基本工资: %f 考勤: %f 奖金: %f 扣款: %f 个人所得税: %f 实发工资:%fn”,mem[dcbh].jbgz,mem[dcbh].cql,mem[dcbh].jj,mem[dcbh].kk,mem[dcbh].grsd,mem[dcbh].sf); printf(“n按任意键开始删除......n”); system(“pause”); for(j=dcbh+1;j<=CurrentCount;j++) mem[j-1]=mem[j]; CurrentCount--; printf(“n已成功删除......n”); system(“pause”); } printf(“n是否继续(0--结束,其它--继续):”); scanf(“%d”,&sfjx); } system(“pause”);} void modifygz(){ int dcbh; int sfjx=1; while(sfjx!=0) { printf(“n请输入一个待修改工资员工的编号:”); scanf(“%d”,&dcbh); if(dcbh<1||dcbh>CurrentCount) printf(“查无此人!!n”); else { printf(“n此人工资信息如下:n”); printf(“基本工资: %f 考勤: %f 奖金: %f 扣款: %f 个人所得税: %f 实发工资:%fn”,mem[dcbh].jbgz,mem[dcbh].cql,mem[dcbh].jj,mem[dcbh].kk,mem[dcbh].grsd,mem[dcbh].sf); printf(“n请输入新内容......n”); printf(“n请输入人员工资信息(基本工资 考勤 奖金 扣款 个人所得税 实发工资):”); scanf(“%f%f%f%f”,&mem[CurrentCount].jbgz,&mem[dcbh].cql,&mem[dcbh].jj,&mem[dcbh].kk,&mem[dcbh].grsd,&mem[dcbh].sf); printf(“n已成功修改......n”); system(“pause”); } printf(“n是否继续(0--结束,其它--继续):”); scanf(“%d”,&sfjx); } system(“pause”);} void listgz(){ int i; printf(“n 员工工资信息表n”); printf(“ 序号 基本工资 考勤 奖金 扣款 个人所得税 实发工资n”); for(i=1;i<=CurrentCount;i++) printf(“%4d %8f%8f%8f%8f”,i,mem[i].jbgz,mem[i].cql,mem[i].jj,mem[i].kk,mem[i].grsd,mem[i].sf); system(“pause”);} void main(){ int xz=1; printf(“ *~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*n”);printf(“ * 欢迎使用人事工资管理系统 *n”);printf(“ ***************************************nnn”); if(check()!=0) { printf(“n你无权使用本系统......nn”); system(“pause”); } else { while(xz!=0) { printf(“n请选择相应功能:n”); printf(“1-录入n2-查询n3-修改n4-删除n5-保存n6-读取n7-输入员工工资n8-保存工资信息n9-读取工资信息n10-修改工资信息n11-删除工资信息n12-工资列表n0-结束n请输入选择:”); scanf(“%d”,&xz); switch(xz) { case 1: input();break; case 2: search();break; case 3: modify();break; case 4: del();break; case 5: save();break; case 6: read();break; case 7: inputgz();break; case 8: savegz();break; case 9: readgz();break; case 10: modifygz();break; case 11: delgz();break; case 12: listgz();break; case 0: printf(“nn谢谢使用本系统!nn”);system(“pause”);break; default: printf(“n无此功能,请重新选择......n”); system(“pause”); } } } } 图书管理系统数据库源代码 //创建工程及设计主界面 public class Main extends JFrame { private static final JDesktopPane { DESKTOP_PANE=new JDesktopPane(); //桌面窗体 } public static void main(String[] args) //入口方法 { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());//设置系统界面外观 new BookLogin(); //登录窗口 } catch(Exception ex) { ex.printStackTrace(); } } public static void addIFame(JInternalFrame iframe) //添加子窗体的方法 { DESKTOP_PANE.add(iframe); //新增子窗体 } public Main(){ super(); //设置“关闭”按钮处理事件 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //创建工具栏 Toolkit tool=Toolkit,getDefaultToolkit(); //获得屏幕大小 Dimension screenSize=tool.getScreenSize(); setSize(800,600); //设置窗体大小 setLocation((screenSize.width-getWidth())/2,(screenSize.height-getHeight())/2;//设置窗体位置 setTitle(“图书管理系统”); //设置窗体标题 JMenuBar menuBar=createMenu(); //创建菜单栏 setJMenuBar(menuBar); //设置菜单栏 JToolBar toolBar=createToolBar(); //创建工具栏的方法 getContentPane(),add(toolBar,BorderLayout.NORTH); //设置工具栏 final JLable lable=new JLable(); //创建一个标签,用来显示图片 lable.setBounds(0,0,0,0); //设置窗体的大小和位置 lable.setIcon(null); //窗体背景 DESKTOP_PANE.addComponentListener(new ComponentAdapter()) { public void componentResized(final ComponentEvent e) { Dimension size=e.getComponent().getSize(); //获得组建大小 lable.setSize(e.getComponent().getSize()); //设置标签大小 lable.setText(“”); //设置标签文本,设置窗口背景 } } //将标签添加到桌面窗体 DESKTOP_PANE.add(lable,new Integer(Integer.MIN_VALUE)); getContentPane().add(DESKTOP_PANE); //将桌面窗体添加到主窗体中 } } private JToolBar createToolBar() //创建工具栏的方法 { JToolBar toolBar=new JToolBar(); //初始化工具栏 toolBar.setFloatable(false); //设置是否可以移动工具栏 toolBar.setBorder(new BevelBorder(BevelBorder.RAIZED)); //设置边框 //图书信息添加按钮 JButton bookAddButton=new JButton(MenuActions.BOOK_ADD);ImageIcon icon=new ImageIcon(Main.class.getResource(“/bookAddtb.jpg”));//添加菜单栏图标 bookAddButton.setIcon(icon); //设置按钮图标 bookAddButton.setHideActionText(true); //显示提示文本 toolBar.add(bookAddButton); //添加到工具栏中 JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY); //图书信息修改按钮 ImageIcon bookmodiicon=Icon.add(“bookModiAndDeltb.jpg”); //创建图表方法 bookModiAndDelButton.setIcon(bookmodiicon); //设置按钮图标 bookModiAndDelButton.setHideActionText(true); //显示提示文本 toolBar.add(bookModiAndDelButton); //添加到工具栏 JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD); //图书类别添加按钮 ImageIcon bookTypeAddicon=Icon.add(“bookTypeAddtb.jpg”); //创建图标方法 bookTypeAddButton.setIcon(bookTypeAddicon); //设置按钮图标 bookTypeAddButton.setHideActionText(true); //显示提示文本 toolBar.add(bookTypeAddButton); //添加到工具栏 JButton bookBorrowButton=new JButton(MenuActions.BORROW); //图书借阅按钮 ImageIcon bookBorrowicon=Icon.add(“bookBorrowtb.jpg”); //创建图标方法 bookBorrowButton.setIcon(bookBorrowicon); //设置按钮图标 bookBorrowButton.setHideActionText(true); //显示提示文本 toolBar.add(bookBorrowButton); //添加到工具栏 JButton bookOrderButton=new JButton(MenuActions.NEWBOOK_ORDER); //新书订购按钮 ImageIcon bookOrdericon=Icon.add(“bookOrdertb.jpg”); //创建图标方法 bookOrderButton.setIcon(bookOrdericon); //设置按钮图标 bookOrderButton.setHideActionText(true); //显示提示文本 toolBar.add(bookOrderButton); //添加到工具栏 JButton bookCheckButton=new JButton(MenuActions.NEWBOOK_CHECK); //验收新书按钮 ImageIcon bookCheckicon=Icon.add(“newbookChecktb.jpg”); //创建图标方法 bookCheckButton.setIcon(bookCheckicon); //设置按钮图标 bookCheckButton.setHideActionText(true); //显示提示文本 toolBar.add(bookCheckButton); //添加到工具栏 JButton readerAddButton=new JButton(MenuActions.READER_ADD); //读者信息添加按钮 ImageIcon readerAddicon=Icon.add(“readerAddtb.jpg”); //创建图标方法 readerAddButton.setIcon(readerAddicon); //设置按钮图标 readerAddButton.setHideActionText(true); //显示提示文本 toolBar.add(readerAddButton); //添加到工具栏 JButton readerModiAndDelButton=new JButton(MenuActions.READER_MODIFY); //读者信息修改按钮 ImageIcon readerModiAndDelicon=Icon.add(“readerModiAndDeltb.jpg”); //创建图标方法 readerModiAndDelButton.setIcon(readerModiAndDelicon); //设置按钮图标 readerModiAndDelButton.setHideActionText(true); //显示提示文本 toolBar.add(readerModiAndDelButton); //添加到工具栏 JButton ExitButton=new JButton(MenuActions.EXIT); //退出系统按钮 ImageIcon Exiticon=Icon.add(“exittb.jpg”); //创建图标方法 ExitButton.setIcon(Exiticon); //设置按钮图标 ExitButton.setHideActionText(true); //显示提示文本 toolBar.add(ExitButton); //添加到工具栏 return toolBar;} public class Business { protected static String dbClassName=“com.mysql.jdbc.Driver”; //数据库驱动类 protected static String dbUr1=“jdbc:mysql://localhost/ts”; //连接URL protected static String dbUser=“root”; //数据库用户名 protected static String dbpwd=“root”; //数据库密码 private static Connection conn=null; //数据库连接对象,初值为null public Business(){ try { if(coon==null) //连接对象为空 { Class.forName(dbClassName); //加载驱动类信息 conn=DriverManager.getConnection(dbUr1,dbUser,dbPwd); //建立连接对象 } } catch(Exception ee) { ee.printStackTrace(); } } public static ResultSet executeQuery(String sql) //执行查询方法 { try { //如果连接对象为空,则重新调用构造方法 if(conn==null) { new Business(); return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql); //执行查询 } } catch(SQLException e) { e.printStackTrace(); return null; //返回null值 } finally {} } public static int executeUpdata(String sql) //更新方法 { try { if(conn==null) { new Business(); //如果连接对象为空,则重新调用构造方法 return conn.createStatement().executeUpdate(sql);//执行更新 } } catch(SQLException e) { e.printStackTrace(); return-1; } finally {} } public static void close() //关闭方法 { try { conn.close(); //关闭连接对象 } catch(SQLException e) { e.printStackTrace(); } finally { conn=null; //设置连接对象为null值 } } } //为数据库添加对应的类 public class BookInfo { private String Book_id; //图书编号 private String typeid; //类别编号 private String writer; //作者 private String translator;//译者 private String publisher; //出版社 private Date date; //出版日期 private Double price; //图书单价 private String getBookname;//图书名称 public String getBookname(){ return bookname;} public void setBookname(String bookname){ this.bookname=bookname;} public Date getDate(){ return date;} public void setDate(Date date){ this.date=date;} public string getBook_id() { return Book_id;} public void setBook_id(String Book_id){ this.Book_id=Book_id;} public Double getPrice(){ return price;} public void setprice(Double price){ this.price=price;} public String getPublisher(){ return Publisher;} public void setPublisher(String publisher){ this.Publisher=Publisher;} public String getTranslator(){ return translator;} public void setTranslator(String translator){ this.translator=translator;} public String getTypeid(){ return typeid;} public void setTypeid(String typeid){ this.typeid=typeid;} public String getWriter(){ return writer;} public void setWriter(String writer){ this.writer=writer;} } public class BookType //图书列表信息类 { private String id; //图书类别编号 private String typeName; //图书类别名称 private String days; //可解天数 private String fk;//每罚款金额 public String getFk(){ return fk;} public void setFk(String fk){ this.fk=fk;} public String getDays(){ return days;} public void setDays(String days){ this.days=days;} public string getId(){ return id;} public void setId(String id){ this.Bid=id;} public String getTypeName(){ return typeName;} public void setTypeName(String typeName){ this.typeName=typeName;} } public class Order //图书订单信息类 { private String Book_id; //图书编号 private Date date; //下单时间 private String number; //图书数量 private String operator;//操作员 private String checkAndAccept; //是否收到货 private String zk; //图书折扣 public String getcheckAndAccept(){ return checkAndAccept;} public void setcheckAndAccept(String checkAndAccept){ this.checkAndAccept=checkAndAccept;} public Date getDate(){ return date;} public void setDate(Date date){ this.date=date;} public string getBook_id(){ return book_id;} public void setBook_id(String book_id){ this.book_id=book_id;} public String getNumber(){ return number;} public void setNumber(String number){ this.number=number;} public String getOperator(){ return operator;} public void setOperator(String operator){ this.operatorr=operator; } public String getZk(){ return zk;} public void setZk(String Zk){ this.zk=zk;} } public class Operater { private String id; //操作员编号 private String name; //操作员用户名 private String grade; //操作员等级 private String password;//操作员密码 private String type; //出版社 public String getType(){ return type;} public void setType(String type){ this.type=type;} public string getGrade(){ return grade;} public void setGrade(String grade){ this.grade=grade;} public String getId(){ return id;} public void setId(String id){ this.id=id;} public String getName(){ return name;} public void setName(String name){ this.name=name;} public String getPassword(){ return password;} public void setPassword(String password){ this.password=password;} } public class Borrow //书籍借阅信息类 { private int id; //借阅编号 private String book_id; //图书编号 private String reader_id; //读者编号 private String num; //借书数量 private String borrowDate; //借书日期 private String backDate; //应还日期 private String Bookname;//图书名称 public String getBookname(){ return bookname;} public void setBookname(String bookname){ this.bookname=bookname;} public string getBackDate(){ return backDate;} public void setBackDate(String backDate){ this.backDate=backDate;} public string getBorrowDate(){ return borrowDate;} public void setBorrowDate(String borrowDate){ this.borrowDate=borrowDate;} public String getNum(){ return num;} public void setNum(String num){ this.num=num;} public String getBook_id(){ return book_id;} public void setBook_id(String book_id){ this.book_id=book_id;} public String getReader_id(){ return reader_id;} public void setReader_id(String reader_id){ this.reader_id=reader_id;} public int getId(){ return id;} public void setId(Int id){ this.id=id;} } public class Back //图书归还信息类 { private String book_id; //图书编号 private String bookname; //图书名称 private String operatorId; //操作员编号 private String borrowDate;//图书借阅时间 private String backDate; //图书归还时间 private String readerName; //读者姓名 private String reader_id;//读者编号 private int typeId;private int id; public int getId(){ return id;} public void setId(int id){ this.id=id;} public int getTypeId(){ return typeid;} public void setTypeId(int typeid){ this.typeId=typeId;} public string getBackDate(){ return backDate;} public void setBackDate(String backDate){ this.backDate=backDate;} public String getBookname(){ return bookname;} public void setBookname(String bookname){ this.bookname=bookname;} public string getBorrowDate(){ return borrowDate;} public void setBorrowDate(String borrowDate){ this.borrowDate=borrowDate;} public String getOperatorId(){ return operatorId;} public void setOperatorId(String operatorId){ this.operatorId=operatorId;} public String getBook_id(){ return book_id;} public void setBook_id(String book_id){ this.book_id=book_id;} public String getReader_id(){ return reader_id;} public void setReader_id(String reader_id){ this.reader_id=reader_id;} public String getReaderName(){ return readerName;} public void setReaderName(String readerName){ this.readerName=readerName;} } //系统登录模块设计 public class BookLogin extends JFrame { private static final Operater Type=null; //人员类型 private static Operater user; //用户名 private JPasswordField password;private JTextField username;private JButton login;private JButton reset;public BookLogin(){ super(); final BorderLayout borderLayout=new BorderLayout(); //创建布局管理器 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置“关闭”按钮处理事件 borderLayout.setVgap(10); //设置组件间的垂直关系 getContentPane().setLayout(borderLayout); //使用布局管理器 setTitle(“图书管理系统登录”) //设置窗体标题 Toolkit tool=Toolkit.getDefaultToolkit(); //获得默认的工具箱 Dimension screenSize=tool.getScreenSize();//获得屏幕的大小 setSize(285,194); setLocation((screenSize.width-getWidth())/2,(screenSize.height-getHeight())/2);//设置窗体位置 final JPanel mainPanel=new JPanel(); //创建主面板 mainPanel.setLayout(new BorderLayout()); //设置边框布局 mainPanel.setBorder(new EmptyBorder(0,0,0,0)) //设置边框为0 getContentPane().add(mainPanel); //在窗体中加入主面板 final JLabel imageLabel=new JLabel; //创建一个标签,用来显示图片 ImageIcon loginIcon=Icon.add(“login.jpg”); //创建一个图像图标 imagelabel.setIcon(loginIcon); //设置图片 imageLabel.setOpaque(true); //设置绘制其边界内的所有像素 imageLabel.setBackground(Color.GREEN); //设置背景颜色 imageLabel.setpreferredSize(new Dimension(260,60));//设置标签大小 mainPanel.add(imageLabel,BorderLayout.NORTH); //添加标签到主面板 final JPanel centerPanel=new JPanel(); //添加一个中心面板 final GridLayout gridLayout=new GridLayout(2,2);//创建网络布局管理器 gridLayout.setHgap(5); //设置组件之间平行的距离 gridLayout.setVgap(20); //设置组件之间垂直的距离 centerPanel.setLayout(gridLayout); //使用布局管理器 mainPanel.add(centerPanel); //添加到主桌面 final JLabel userNamelabel=new JLabel(); //创建一个标签 userNameLabel.setHorizontalAlignment(SwingConstants.CENTER);//设置对齐方式 userNameLabel.setPreferredSize(new Dimension(0,0)); //设置组件大小 userNameLabel.setMinimumSize(new Dimension(0,0)); //设置组件最小的大小 centerPanel.add(userNameLabel); //添加到中心面板 userNameLabel.setText(“用 户 名:”); //设置标签文本 username=new JTextField(20); //创建文本框 username.setPreferredSize(new Dimension(0,0)); //设置组件大小 centerPanel.add(username); //添加到中心面板 final JLabel passwordLabel=new JLabel(); //创建一个标签 passwordLabel.setHorizontalAlignment(SwingConstants.CENTER); //设置对齐方式 centerPanel.add(passwordLabel); //添加到中心面板 passwordLabel.setText(“密 码:”); //设置标签文本 password=new JPasswordField(20); //创建密码框 password.setDocument(new Document(6)); //设置密码长度为6 password.addKeyListener(new KeyAdapter() //监听密码框 { public void keyPressed(final keyEvent e) //监听键盘案件事件 { if(e.getKeyCode()==10) //如果按了回车键 { login.doClick(); //进行登录 } } }) centerPanel.add(password); //添加到中心面板 final JPanel southPanel=new JPanel;//新增一个底部面板 mainPanel.add(southPanel,BorderLayout.SOUTH); //添加到主面板中 login=new JButton(); //创建按钮组件 login.addActionListener(new BookLoginAtion()); //添加监听器 login.setText(“登录”); //设置按钮文本 southPanel.add(login); //把按钮添加到底部面板 reset=new JButton(); //创建按钮组件 reset.addActionListener(new BookResetAction()); //添加监听器 reset.setText(“重置”); //设置按钮文本 southPanel.add(reset); //把按钮添加到底部面板 setVisible(true); //设置创建可见 setResizable(false); //设置窗体不可改变大小 } public static Operater getUser(){ return user;} public static Operater getType(){ return Type;} public static void setUser(Operater user){ BookLogin.user=user;} } private class BookResetAction implements ActionListener { public void actionPerformed(final ActionEvent e){ username.setText(“");//设置用户名输入框为空 password.setText(”“);//设置密码输入框为空 } } private class BookLoginAction implements ActionListener { public void actionPerformed(final ActionEvent e){ user=Business.check(username.getText(),new String(password.getPassword()));//调用business方法 if(user.getName()!=null) //判断用户名是否为null { try { Main frame=new Main(); //创建一个主窗体 frame.setVisible(true); //设置其可见 BookLogin.this.setVisible(false); //设置登录窗体为不显示 } catch(Exception ex) { ex.printStackTrace(); } } else { JOptionPane.showMessageDialog(null,”请输入正确的用户名和密码!“);//弹出提示框 username.setText(”“); //设置用户名输入框为空 password.setText(”“); //设置密码输入框为空 } } } //基本信息管理模块 public class ReaderAdd extends JInternalFrame //添加读者信息 { public ReaderAdd(){ super(); setTitle(”读者相关信息添加“); setIconifiable(true); //设置窗体可最小化 setClosable(true); //设置窗体可关闭 setBounds(100,100,500,350); final JLabel logoLabel=new JLabel(); ImageIcon readerAddIcon=Icon.add(”readerAdd.jpg“); logoLabel.setIcon(readerAddIcon); logoLabel.setOpaque(true); logoLabel.setBackground(Color.CYAN); logoLabel.setPreferredSize(new Dimension(400,60)); getContentPane().add(logoLabel,BorderLayout.NORTH); final JPanel panel=new JPanel(); panel.setLayout(new FlowLayout()); getContentPane().add(panel); final JPanel panel_1=new JPanel(); final GridLayout gridLayout=new GridLayout(0,4); gridLayout.setVgap(15); gridLayout.setHgap(15); panel_1.setLayout(gridLayout); panel_1.setPreferredSize(new Dimension(450,200)); panel.add(panel_1); final JLabel label_2=new JLabel(); label_2.setText(”姓名:“); panel_1.add(label_2); readername=new JTextField(); readername.setDocument(new Document(10)); panel_1.add(readername); final JLabel label_3=new JLabel(); public void actionPerformed(final ActionEvent e) { Check validator=new Check(); //校验类 String zj=String.valueof(comboBox.getSelectedIndex()); String id=read_id.getText().trim(); Vector v1=new Vector(); v1.clear(); v1.add(”reader“); //读取配置文件中相应的查询语句 v1.add(id); if(l==validator.Validate(V1)) //检查是否存在该读者 { JOptionPane.showMessageDialog(null,”添加失败,该读者编号已存在!“); } else { Int i=Business.InsertReader(readername.getText().trim(),sex.trim(),age.getText().trim(),zjnumber.getText().trim(),Date.valueOf(date.getText().trim()),maxnumber.getText().trim().tel.getText().trim(),Double.valueof(keepmoney.getText().trim()),zj,zy.getText().trim(),Date.valueOf(bztime.getText().trim()),read_id.getText().trim()); if(i==1) { JOptionPane.showMessageDialog(null,”添加成功!“); doDefaultCloseAction(); } } } } class TelListener extends KeyAdapter { public void keyTyped(KeyEvent e){ String numStr=”0123456789-“+(char)8; //类型转换 if(numStr.indexOf(e.getKeyChar())<0) { e.consume(); } } } //添加“关闭”按钮的事件监听器 class CloseActionListener implements ActionListener { public void actionPerformed(final ActionEvent e) { doDefaultCloseAction(); } } private String[] columnNames(”名称“,”性别“,”年龄“,”证件号码“,”借书证有效日期“,”借书量“,”电话“,”押金“,”证件“,”职业“,”读者编号“,”办证时间“); private String[] array=new String[]{”身份证“,”军人证“,”学生证“}; String id; private Object[][] getFileStates(List list) { Object[][]results=new Object[list.size()][columnNames.length]; for(int i=0;i { Reader reader=(Reader)list.get(i); result[i][0]=reader.getName(); //定义二维数组 String sex; if(reader.getSex().equals(”1“)) { sex=”男“; } else { sex=”女“; } results[i][1]=sex; //读取读者歌属性值 results[i][2]=reader.getAge(); results[i][3]=reader.getIdentityCard(); results[i][4]=reader.getDate(); results[i][5]=reader.getMaxNum(); results[i][6]=reader.getTel(); results[i][7]=reader.getKeepMoney(); results[i][8]=array[reader.getZj()]; results[i][9]=reader.getZy(); results[i][10]=reader.getBook_id(); results[i][11]=reader.getBZtime(); } return results; } //图书类别管理 //添加图书信息 utton.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { if(bookTypeName.getText().length()==0) { JOptionPane.showMMessageDialog(null,”图书类别文本框不可为空“); return; } if(days.getText().length()==0) { JOptionPane.showMessageDialog(null,”可借天数文本框不可为空“); return; } if(!check.isNumeric(days.getText().trim())) { JOptionPane.showMessageDialog(null,”可借天数必须为数字“); return; } if(fakuan.getText().length()==0) { JOptionPane.showMessageDialog(null,”罚款文本框不可为空“); return; } if(!check.isNumeric(fakuan.getText().trim())) { JOptionPane.showMessageDialog(null,”罚款必须为数字“); return; } int i=Business.InsertBookType(bookTypeName.getText().trim(),days.getText().trim(),Double.valueof(fakuan.getText.trim())/10); if(i==1) { JOptionPane.showMessageDialog(null,”添加成功!“); doDefaultCloseAction(); } } }); panel_6.add(button); final JButton buttonDel=new JButton(); buttonDel.setText(”关闭“); buttonDel.addActionListener(new ActionListener(){ public void actionPerformed(final ActionEvent e){ doDefaultCloseAction(); } }); panel_6.add(buttonDel); setVisibel(true);} //修改图书类 class ButtonAddListener implements ActionListener{ public void actionPerformed(ActionEvent e){ Object selectedItem=bookTypeModel.getSelectedItem(); int i=Business.UpdatebookType(BookTypeId.getText().trim(),selectedItem.toString(),days.getText().trim(),fk.getText().trim()); if(i==1) { JOptionPane.showMessageDialog(null,”修改成功"); object[][] results=getFileStates(Business.selectBookCategory()); model.setDataVector(results.columnNames); } } } table.setModel(model); 建立数据库: create database 数据库 建表: create table 部门信息表 (部门编号 char(2)primary key ,部门名称 nchar(14),部门职能 nchar(14),部门人数 char(4))go create table 管理员信息表 (用户名 nchar(4)primary key ,密码 char(10),)go create table 用户信息表 (用户名char(10)primary key ,用户类型char(10),密码 char(10))go create table 员工工作岗位表 (姓名 nchar(4)primary key ,员工编号 char(4) 工作岗位 nchar(3),部门名称 nchar(10),参加工作时间 char(4))go create table 员工学历信息表 (姓名 nchar(4)primary key ,员工编号 char(4) 学历 nchar(2),毕业时间 char(10),毕业院校 nchar(10),外语情况 nchar(10),专业 nchar(10))go create table 员工婚姻情况表 (姓名 nchar(4)primary key ,员工编号 char(4) 婚姻情况 nchar(2),配偶姓名 nchar(4),配偶年龄 char(3),工作单位 nchar(10),)go create table 员工基本信息表 (员工编号 char(4)primary key ,姓名 nchar(4),性别 nchar(1),民族 nchar(3),出生年月 char(14),学历 nchar(10),政治面貌 nchar(3),婚姻状况 nchar(2),部门名称 nchar(10),工作岗位 nchar(10),) 建立视图: CREATE VIEW 按员工工作岗位查询 as SELECT 员工工作岗位表.工作岗位, 员工基本信息表.员工编号,员工基本信息表.姓名, 员工基本信息表.性别, 员工基本信息表.出生年月,员工基本信息表.学历, 员工基本信息表.婚姻状况,员工基本信息表.部门名称 FROM 员工工作岗位表 INNER JOIN 员工基本信息表 ON 员工工作岗位表.姓名 = 员工基本信息表.姓名 go CREATE VIEW 按员工详细信息查询 as SELECT 员工基本信息表.* FROM 员工基本信息表 go CREATE VIEW 按参加工作时间查询 as SELECT 员工工作岗位表.参加工作时间, 员工工作岗位表.工作岗位,员工基本信息表.员工编号, 员工基本信息表.姓名, 员工基本信息表.性别,员工基本信息表.出生年月, 员工基本信息表.部门名称 FROM 员工工作岗位表 INNER JOIN 员工基本信息表 ON 员工工作岗位表.姓名 = 员工基本信息表.姓名 触发器的建立 delete触发器: create trigger 删除员工1 ON 员工工作岗位表 for delete AS BEGIN DELETE FROM 员工基本信息表 WHERE 员工编号 IN(SELECT 员工编号 FROM DELETED)end go create trigger 删除员工2 ON 员工学历信息表 for delete AS BEGIN DELETE FROM 员工基本信息表 WHERE 员工编号 IN(SELECT 员工编号 FROM DELETED)end go create trigger 删除员工3 ON 员工婚姻情况表 for delete AS BEGIN DELETE FROM 员工基本信息表 WHERE 员工编号 IN(SELECT 员工编号 FROM DELETED)end go create trigger 删除员工4 ON 员工基本信息表 for delete AS BEGIN DELETE FROM 员工工作岗位表 WHERE 员工编号 IN(SELECT 员工编号 FROM DELETED)end go create trigger 删除员工5 ON 员工基本信息表 for delete AS BEGIN DELETE FROM 员工学历信息表 WHERE 员工编号 IN(SELECT 员工编号 FROM DELETED)end go create trigger 删除员工6 ON 员工基本信息表 for delete AS BEGIN DELETE FROM 员工婚姻情况表 WHERE 员工编号 IN(SELECT 员工编号 FROM DELETED)end Update触发器: Create Trigger 修改编号1 On 员工基本信息表 for Update As if Update(员工编号) begin Update 员工工作岗位表 Set 员工编号=i.员工编号 From 员工工作岗位表 br , Deleted d ,Inserted i Where br.员工编号=d.员工编号 end go Create Trigger 修改编号2 On 员工基本信息表 for Update As if Update(员工编号) begin Update 员工学历信息表 Set 员工编号=i.员工编号 From 员工学历信息表 br , Deleted d ,Inserted i Where br.员工编号=d.员工编号 end go Create Trigger 修改编号3 On 员工基本信息表 for Update As if Update(员工编号) begin Update 员工婚姻情况表 Set 员工编号=i.员工编号 From 员工婚姻情况表 br , Deleted Where br.员工编号=d.员工编号 end go Create Trigger 修改员工编号1 On 员工工作岗位表 for Update As if Update(员工编号) begin Update 员工基本信息表 Set 员工编号=i.员工编号 From 员工基本信息表 a , Deleted Where a.员工编号=d.员工编号 end go Create Trigger 修改员工编号2 On 员工学历信息表 for Update As if Update(员工编号) begin d ,Inserted i d ,Inserted i Update 员工基本信息表 Set 员工编号=i.员工编号 From 员工基本信息表 a , Deleted d ,Inserted i Where a.员工编号=d.员工编号 end go Create Trigger 修改员工编号3 On 员工婚姻情况表 for Update As if Update(员工编号) begin Update 员工基本信息表 Set 员工编号=i.员工编号 From 员工基本信息表 a , Deleted d ,Inserted i Where a.员工编号=d.员工编号 end 存储过程的建立: CREATE PROC 按婚姻查找 @婚姻状况 nchar(2)AS select 员工基本信息表.员工编号,员工基本信息表.姓名,员工婚姻情况表.婚姻情况,员工婚姻情况表.配偶姓名 from 员工基本信息表 inner join 员工婚姻情况表 on 员工基本信息表.员工编号=员工婚姻情况表.员工编号 where 员工婚姻情况表.婚姻情况=@婚姻状况 order by 员工基本信息表.员工编号 CREATE PROC 按学历查找 @员工学历 nchar(4)AS select 员工基本信息表.员工编号,员工基本信息表.姓名,员工学历信息表.学历,员工学历信息表.毕业院校,员工学历信息表.专业 from 员工基本信息表 inner join 员工学历信息表 on 员工基本信息表.员工编号=员工学历信息表.员工编号 where 员工学历信息表.学历=@员工学历 order by 员工基本信息表.员工编号 数据库应用课程设计 浅谈人事管理系统的数据库 作 者 何川 省(市)级电大省电大 专 业 计算机 年 级 10级春 学 号1XXXXXXXXXX55 目录 1 系统概述 3 2 系统数据流程图和数据字典 3 2.1 用户需求调查 3 2.2 系统数据流程图 4 2.3 系统数据字典 7 3 数据库结构设计 13 3.1 概念结构设计 12 3.2 逻辑结构设计 12 3.3 数据库结构的详细设计 14 4 物理设计 15 5 用户的子模式(外模式)设计(没做)19 6 总结 19 1 系统概述 本文按照数据库系统设计的基本步骤,采取了事先进行需求分析,然后进行数据库的概念设计和逻辑结构设计,最后进行数据库详细设计的方法,完成了一个人事管理系统数据库系统的设计。最终,在SQL SEVER 2000完成的人事管理系统,可以实现:对员工基本档案的管理、奖惩记录的管理、出勤记录的管理、职务调动记录的管理、工资管理、请销假管理。2 系统数据流程图和数据字典 2.1 用户需求调查 通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、职务调动管理、奖惩管理、考勤管理、工资管理、请销假管理组成。系统功能的主要描述如下。(1)员工档案管理 1)对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。2)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。3)当员工的信息发生变动时,修改员工档案记录中相应的属性。(2)员工职务调动管理 对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。(3)奖惩管理 对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。(4)考勤管理 1)对员工上班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、迟到)。2)对员工下班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、早退)。(5)请销假管理 1)对员工请假的记录进行统一编号;登记员工请假时间、请假类型。2)对员工销假的记录进行统一编号;登记员工销假时间、请假类型,检查是否超期。(6)工资管理 1)对公司里所有员工的工资记录进行统一编号,建立工资记录表。(7)部门管理 1)对公司所有的部门进行编号,建立部门记录。2.2 系统数据流程图 经过详细的调查,弄清了系统现行的业务流程。在此基础上,构造出系统的逻辑模型,并通过数据流程图表示。人事管理系统的顶层数据流程图如图1所示。图1 注:图中虚线表示的数据流是员工信息。在人事管理系统顶层流程图中,“请假管理”和“出勤管理”两个处理框所表示的功能不是很具体,需对他们进一步细化。请假管理细化流程图如图2所示。图2 出勤管理细化流程图如图3所示。图3 最终,经过整理后得出细化后的系统数据流程图。如图4所示。图4 2.3 系统数据字典 人事管理系统数据流程图中,数据信息和处理过程还需要通过数据字典来描述。在本文的数据字典中,主要对数据流图中的数据流、数据存储和处理过程进行说明。(1)主要的数据流定义 1)数据流名称:员工情况 位置:员工→P1。定义: 员工情况=姓名+性别+出生日期+民族+学历+职称。数据流量:根据公司的员工具体录用情况来确定。说明:要对每一位被聘用的新员工进行唯一编号。2)数据流名称:奖惩情况 位置:P3→员工 定义: 奖惩情况=员工流水号+奖惩类型+奖惩金额+奖惩年月日。数据流量:根据公司的具体情况来确定。说明:要对每一次的奖惩记录进行唯一编号。3)数据流名称:奖惩批复 位置:上级→P3 定义: 奖惩批复=奖惩类型+批复部门号+批复原因+批复日期。数据流量:根据公司的具体情况来确定。说明:具体应用中,批复原因可以省略。4)数据流名称:调动情况 位置:P5→员工 定义: 调动情况=员工号+调动前职务+调动后职务+调动日期。数据流量:根据公司的具体情况来确定。说明:员工号和调动日期可以唯一确定一个调动情况。5)数据流名称:调动批复 位置:上级→P5 定义: 调动批复=批复部门号+批复原因+批复日期。数据流量:根据公司的具体情况来确定。说明:批复原因可以省略。6)数据流名称:上班刷卡 位置:员工→P7.1 定义: 上班刷卡=员工号+上班刷卡时间+刷卡机号。数据流量:根据公司的具体规模情况来确定。说明:上班刷卡时间会汇入到出勤记录中。7)数据流名称:下班刷卡 位置:员工→P7.2 定义: 下班刷卡=员工号+下班刷卡时间+刷卡机号。数据流量:根据公司的具体情况来确定。说明:下班刷卡时间会汇入到出勤记录中。8)数据流名称:工资查询 位置:P4→员工 定义: 工资查询=员工号+基本工资+奖金+罚款+超始时间+截止时间+发薪日期。数据流量:根据公司的具体情况来确定。说明:根据员工号和发薪日期可以唯一确定一个工资记录。9)数据流名称:请假申请 位置:员工→P2.2 定义: 请假申请=员工号+请假时间+请假天数。数据流量:根据公司的具体情况来确定。说明:员工号和请假时间可以唯一确定一个请假记录。10)数据流名称:请假批复 位置:上级→P2.2 定义: 请假批复=审批人+批复结果。数据流量:根据公司的具体情况来确定。说明:批复结果的类型只能是(批准、拒绝)。11)数据流名称:销假申请 位置:员工→P2.1 定义: 销假申请=员工号+销假时间。数据流量:根据公司的具体情况来确定。说明:针对销假申请没用单独建立销假记录表,在这里将销假记录和请假记录进行了合并。因为在一般情况下,请假是不能够进行嵌套的。12)数据流名称:管理员情况 位置:管理员→P6 定义: 用户身份=员工编号。数据流量:根据公司的具体情况来确定。说明:要对每一位管理员建立唯一的账号。13)数据流名称:用户身份 位置:安全管理→{P1,P2.1,P2.2,P3,P4,P5,P7.1,P7.2} 定义: 用户身份=[ 非法用户 | 内部管理员 | 服务管理员] 数据流量:根据公司的具体情况来确定。说明:不同的用户身份对应不同的操作权限,对应着不同的安全级别。14)数据流名称:部门情况 位置:上级→部门情况 定义: 部门情况=部门号+部门名称+领导人号 数据流量:根据公司的具体情况来确定。说明:部门号是主码。(2)主要的数据存储定义 1)数据存储编号:员工记录 D1 输入:P1 输出:P1,P7.1,P7.2,P2.1,P2.2 数据结构:员工记录=姓名+性别+出生日期+民族+学历+职称 +员工编号。数据量和存取频度:根据公司的具体规模情况来确定。存取方式:联机处理;检索和更新;以随机检索为主。说明:员工编号具有唯一性和非空性;性别只能是男或女;主码是员工编号。2)数据存储编号:请假记录 D2 输入:P2.1,P2.2 输出:P2.1,P2.2 数据结构:请假记录=员工号+请假时间+请假天数+销假时间。数据量和存取频度:根据公司的具体规模情况来确定。存取方式:联机处理;检索和更新;以更新操作为主。说明:主码设为请假时间和员工号;员工号是外码,参照表是员工记录。3)数据存储编号:奖惩记录 D3 输入:P3 输出:P3 数据结构:奖惩记录=员工流水号+奖惩类型+奖惩金额+奖惩时间+批复部门号+批复原因+批复日期。数据量和存取频度:根据公司的具体规模情况来确定。存取方式:联机处理;检索和更新;以更新操作为主。说明:主码设为奖惩时间和员工号;员工号是外码,参照表是员工记录。4)数据存储编号:工资记录 D4 输入:P4 输出:P4 数据结构:工资记录=员工号+基本工资+奖金+罚款+超始时间+截止时间+发薪日期。数据量和存取频度:根据公司的具体规模情况来确定。存取方式:联机处理;检索和更新;以更新操作为主。说明:主码设为发薪日期和员工号;员工号是外码,参照表是员工记录。5)数据存储编号:职务调动记录 D5 输入:P5 输出:P5 数据结构:职务调动记录=员工号+调动前职务+调动后职务+调动日期+批复部门号+批复原因+批复日期。数据量和存取频度:根据公司的具体规模情况来确定。存取方式:联机处理;检索和更新;以更新操作为主。说明:主码设为调动日期和员工号;员工号是外码,参照表是员工记录。6)数据存储编号:管理人员记录 D6 输入:P6 输出:P6 数据结构:管理人员记录=用户密码+职工号+密码+管理员账号。数据量和存取频度:根据公司的具体规模情况来确定。存取方式:联机处理;检索和更新;以更新操作为主。说明:主码设为管理员账号。7)数据存储编号:出勤记录 D7 输入:P7.1,P7.2 输出:P7.1,P7.2 数据结构:出勤记录=员工号+上班刷卡时间+下班刷卡时间+刷卡日期。数据量和存取频度:根据公司的具体规模情况来确定。存取方式:联机处理;检索和更新;以更新操作为主。说明:主码设为员工号和刷卡日期;员工号是外码,参照表是员工记录。8)数据存储编号:部门记录 D8 输入:P8 输出:P8 数据结构:部门记录=部门号+部门名称+领导人号。数据量和存取频度:根据公司的具体规模情况来确定。存取方式:联机处理;检索和更新;以检索操作为主。说明:主码设为部门号。(3)主要的处理过程 1)处理过程编号:P1 处理过程名:档案管理 输入:用户身份,员工记录,员工情况 输出:员工记录 处理说明:根据员工的聘用、解聘建立或删除员工记录,以及在后续的过程中,以管理员身份对员工的记录进行修改。2)处理过程编号:P2.1 处理过程名:销假管理 输入:销假申请,请假批复,用户身份,员工记录,销假记录 输出:请假记录 处理说明:根据员工的销假申请,把销假时间录入到相应的请假记录中。3)处理过程编号:P2.2 处理过程名:请假管理 输入:请假申请,请假批复,用户身份,员工记录,请假记录 输出:请假记录 处理说明:根据员工的请假申请和批复情况,进行请假表的登记。4)处理过程编号:P3 处理过程名:奖惩管理 输入:用户身份,奖惩批复,奖惩记录 输出:奖惩记录,奖惩情况 处理说明:根据奖惩批复的要求对员工进行相应的惩处,并对惩处进行记录。5)处理过程编号:P4 处理过程名:工资管理 输入:用户身份,工资记录 输出:工资记录,工资查询 处理说明:根据员工目前的工资情况,进行调薪的操作。6)处理过程编号:P5 处理过程名:调动管理 输入:调动批复,用户身份,职务调动记录 输出:职务调动记录,调动情况 处理说明:根据调动批复的内容,更改员工的职务信息,并对调动情况进行记录。7)处理过程编号:P6 处理过程名:安全管理 输入:管理员情况 输出:D6, P1,P2.1,P2.2,P3,P4,P5,P7.1,P7.2 处理说明:建立管理人员记录表;通过用户名和口令,确认用户身份,保证系统安全性。8)处理过程编号:P7.1 处理过程名:上班管理 输入:上班刷卡,用户身份,员工记录,出勤记录 输出:出勤记录 处理说明:根据输入的员工号信息,记录上班时间,并判断是否迟到。9)处理过程编号:P7.2 处理过程名:下班管理 输入:下班刷卡,用户身份,员工记录,出勤记录 输出:出勤记录 处理说明:根据输入的员工号信息,记录下班时间,并判断是否 class=“ad_box”> 文档为doc格式 《数据库应用设计》课程设计:人事管理系统 1、系统功能的基本要求: 员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。 员工各种信息的修改; 对于转...... 企业人事财务管理系统的开发与设计 内容摘要 随着Internet的不断发展,传统的管理方式,消耗大量的人力物力,传统的方式已经赶不上时代的脚步,所以开发一个高效的企业人事财务管...... 实习日志
日期:第一天今天是实习的第一天,上午八点至十点,我们软件工程专业在信息工程学院机房M2教
室进行了两个小时的实习前的指导。指导老师杨丽丽(代课教师)对本次实习进行了...... #include #include #include int N=2; struct worker/*定义一个职工信息的结构体*/ { intnum; /*定义一个职工信息的结构体*/ char name[20]; /*定义一个职工信息的结构...... 题目:用C/C++设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。 (一)功能要求 (1)查看功能:选择此功能时,列出下列三类选择。 A 办公类 B 个人类 C 商务类 ,当选中某类时...... 学生信息管理系统源代码 import java.io.*; class StuInfo { public String name; public int number; public String sex; public String age; public String bir; public...... 环植学院深入开展创先争优活动实施方案为贯彻落实中共中央、海南省委、省委教育工委及学校党委“关于在党的基层组织和党员中深入开展创先争优活动”的决定,根据相关文件精神...... 目录 一 系统功能分析 ............................................................................................................................. 2 1.1 项目背......第二篇:人事管理系统源代码
第三篇:图书管理系统数据库源代码
第四篇:人事管理系统数据库设计 sql代码
第五篇:毕业论文:浅谈人事管理系统的数据库
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。 数据库应用设计课程设计人事管理系统(精选5篇)
人事管理系统
数据库人事管理实习日志
职工信息管理系统源代码
通讯管理系统源代码
学生信息管理系统源代码
图书管理系统源代码
人事管理系统(合集五篇)