版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本人是一个初学者,2个月前学习C#,学习过程中遇到过许多困难无法独立解决,现在做成了第一个系统:图书管理系统,各项功能均能顺利实现,因为知道很多初学者和我一样苦无求学之道,现在将部分主要源码上传,希望能得到高手的指点。下面就是该系统的主要功能及代码:1.登陆界面主要代码:public partial class LoginForm : Form public static string uacc; public static string upsw; public static string uname; public static string usex; public static str
2、ing upart; public static string uright; public LoginForm() InitializeComponent(); private void loginbtn_Click(object sender, EventArgs e) if (this.useracctxt.Text.Trim() = & this.pswtxt.Text = ) MessageBox.Show(请输入您的用户名和密码!, 提示!); return; try string sql; sql = select * from tb_user where uacc= + thi
3、s.useracctxt.Text + and upsw= + this.pswtxt.Text + ; OleDbDataReader dr = DBHelp.OleReader(sql); dr.Read(); if (dr.HasRows) uacc = this.useracctxt.Text; upsw = this.pswtxt.Text; uname = druname.ToString(); usex = drusex.ToString(); upart = drupart.ToString(); uright = druright.ToString(); MainForm a
4、f = new MainForm(this); this.Hide(); this.useracctxt.Clear(); this.pswtxt.Clear(); af.Show(); else MessageBox.Show(账号或密码错误!, 提示!); this.useracctxt.Clear(); this.pswtxt.Clear(); this.useracctxt.Focus(); catch (Exception) MessageBox.Show(数据库无法连接!, 警告!); private void cancelbtn_Click(object sender, Even
5、tArgs e) Application.Exit(); private void LoginForm_Closing(object sender, FormClosingEventArgs e) Application.Exit(); 2.主界面(图较小,自己可以拉大点)主要代码就不写了,很简单。3.权限设置主要代码:public partial class RightSet : Form public RightSet() InitializeComponent(); private void RightSet_Load(object sender, EventArgs e) this.r
6、ightbox.SelectedIndex = 0; /this.treeright.ExpandAll(); Fill(); private void okbtn_Click(object sender, EventArgs e) if (this.txtnum.Text = string.Empty) MessageBox.Show(请输入最大借阅图书数量!, 提示!); return; if (this.txtday.Text = string.Empty) MessageBox.Show(请输入最大借阅图书时间!, 提示!); return; if (this.txtcost.Text
7、 = string.Empty) MessageBox.Show(请输入借书押金金额!, 提示!); return; if (this.txtfine.Text = string.Empty) MessageBox.Show(请输入超期罚款金额!, 提示!); return; if (this.txttim.Text = string.Empty) MessageBox.Show(请输入图书遗失罚款倍数!, 提示!); return; ArrayList arr = new ArrayList(); foreach (TreeNode nodes in this.treeright.Nodes
8、) if (nodes.Checked) arr.Add(1); else arr.Add(0); foreach(TreeNode node in nodes.Nodes) if (node.Checked) arr.Add(1); else arr.Add(0); string a=new string11; for (int i = 0; i arr.Count; i+) if (arri.ToString().Trim() = 1) ai = yes; else ai = no; string sql = string.Empty; sql += select * from tb_ri
9、ght where uright= + this.rightbox.Text + ; DataTable dt = DBHelp.ExeOleCommand(sql); bool b = false; while (dt.Rows.Count != 0) b = true; break; string sql1; if (b) sql1 = update tb_right set ; sql1 += maxbook= + this.txtnum.Text + ,; sql1 += maxdate= + this.txtday.Text + ,; sql1 += rcost= + this.tx
10、tcost.Text + ,; sql1 += rfine= + this.txtfine.Text + ,; sql1 += rtim= + this.txttim.Text + ,; sql1 += rbm= + a0 + ,; sql1 += rum= + a1 + ,; sql1 += rrm= + a2 + ,; sql1 += rborm= + a3 + ,; sql1 += ris= + a4 + ,; sql1 += rbis= + a5 + ,; sql1 += ruis= + a6 + ,; sql1 += rboris= + a7 + ,; sql1 += rblp= +
11、 a8 + ,; sql1 += rbl= + a9 + ,; sql1 += rlp= + a10 + ; sql1 += where uright= + this.rightbox.Text + ; else sql1 = insert into tb_right(uright,maxbook,maxdate,rcost,rfine,rtim,rbm,rum,rrm,rborm,ris,rbis,ruis,rboris,rblp,rbl,rlp); sql1 += values( + this.rightbox.Text + , + this.txtnum.Text + , + this.
12、txtday.Text + , + this.txtcost.Text + , + this.txtfine.Text + , + this.txttim.Text + , + a0 + , + a1 + , + a2 + , + a3 + , + a4 + , + a5 + , + a6 + , + a7 + , + a8 + , + a9 + , + a10 + ); DataTable dt1 = DBHelp.ExeOleCommand(sql1); Fill(); private void Fill() string sql; sql = select rid as ID号,urig
13、ht as 用户身份, maxbook as 最大借书数量,maxdate as 最大借阅时间,rcost as 押金,rfine as 超期罚率,rtim as 遗失赔率,rbm as 图书管理,rum as 用户管理,rrm as 权限管理,rborm as 借阅管理,ris as 信息查询,rbis as 图书信息查询,ruis as 用户信息查询,rboris as 借阅历史查询,rblp as 图书挂失处理,rbl as 图书挂失,rlp as 挂失处理 from tb_right; DataTable dt = DBHelp.ExeOleCommand(sql); this.dat
14、aGridView1.DataSource = dt; private void cell_click(object sender, DataGridViewCellEventArgs e) this.rightbox.Text = this.dataGridView11, this.dataGridView1.CurrentCell.RowIndex.Value.ToString().Trim(); this.txtnum.Text = this.dataGridView12, this.dataGridView1.CurrentCell.RowIndex.Value.ToString().
15、Trim(); this.txtday.Text = this.dataGridView13, this.dataGridView1.CurrentCell.RowIndex.Value.ToString().Trim(); this.txtcost.Text = this.dataGridView14, this.dataGridView1.CurrentCell.RowIndex.Value.ToString().Trim(); this.txtfine.Text = this.dataGridView15, this.dataGridView1.CurrentCell.RowIndex.
16、Value.ToString().Trim(); this.txttim.Text = this.dataGridView16, this.dataGridView1.CurrentCell.RowIndex.Value.ToString().Trim(); ArrayList list = new ArrayList(); string sql = select * from tb_right where uright= + this.rightbox.Text + ; DataTable dt = DBHelp.ExeOleCommand(sql); if (dt.Rows.Count !
17、= 0) for (int i = 0; i 11; i+) list.Add(dt.Rows07+i.ToString(); ArrayList arr = new ArrayList(); foreach (TreeNode nodes in this.treeright.Nodes) arr.Add(nodes); foreach(TreeNode node in nodes.Nodes) arr.Add(node); for (int i = 0; i list.Count; i+) if (listi.ToString() = yes) (TreeNode)arri).Checked
18、 = true; else (TreeNode)arri).Checked = false; 4.权限修改主要代码:public partial class UserRight : Form public UserRight() InitializeComponent(); private void btncancel_Click(object sender, EventArgs e) this.Close(); private void UserRight_Load(object sender, EventArgs e) this.checkbox.SelectedIndex = 0; th
19、is.partbox.SelectedIndex = 0; private void Fill() if (this.checkbox.Text = ) MessageBox.Show(请选择要使用的查询字段!, 提示!); return; if (this.partbox.Text = ) MessageBox.Show(请选择用户所在的部门!, 提示!); return; string sql = string.Empty; sql += select uid as ID号,uacc as 帐号,uname as 姓名,usex as 性别,upart as 部门,utelphone as
20、 移动电话,uphone as 固定电话,udate as 注册日期,uright as 权限 from tb_user; if (this.checktxt.Text != ) string c = this.checkbox.SelectedIndex.ToString(); switch (c) case 0:/用户帐号 if (this.checktxt.Text != string.Empty) sql += where uacc like % + this.checktxt.Text + %; break; case 1:/用户姓名 if (this.checktxt.Text !
21、= string.Empty) sql += where uname like % + this.checktxt.Text + %; break; default: break; if (this.partbox.SelectedIndex.ToString() != 0) sql += and upart= + this.partbox.Text + ; else if (this.partbox.SelectedIndex.ToString() != 0) sql += where upart= + this.partbox.Text + ; sql += order by uacc a
22、sc; DataTable dt = DBHelp.ExeOleCommand(sql); this.dataGridView1.DataSource = dt; private void checkbtn_Click(object sender, EventArgs e) Fill(); private void cell_click(object sender, DataGridViewCellEventArgs e) this.txtuacc.Text = this.dataGridView11, this.dataGridView1.CurrentCell.RowIndex.Value
23、.ToString().Trim(); this.txtname.Text = this.dataGridView12, this.dataGridView1.CurrentCell.RowIndex.Value.ToString().Trim(); this.txtsex.Text = this.dataGridView13, this.dataGridView1.CurrentCell.RowIndex.Value.ToString().Trim(); this.txtpart.Text = this.dataGridView14, this.dataGridView1.CurrentCe
24、ll.RowIndex.Value.ToString().Trim(); this.txttel.Text = this.dataGridView15, this.dataGridView1.CurrentCell.RowIndex.Value.ToString().Trim(); this.txtphone.Text = this.dataGridView16, this.dataGridView1.CurrentCell.RowIndex.Value.ToString().Trim(); this.txtdate.Text = this.dataGridView17, this.dataG
25、ridView1.CurrentCell.RowIndex.Value.ToString().Trim(); this.txtright.Text = this.dataGridView18, this.dataGridView1.CurrentCell.RowIndex.Value.ToString().Trim(); this.txtright.Enabled = true; private void btnchange_Click(object sender, EventArgs e) if (this.txtuacc.Text = ) MessageBox.Show(执行操作前,请先在
26、下表选择要修改的用户!, 提示!); return; DialogResult res; res=MessageBox.Show(您确定要修改该用户吗?, 提示!, MessageBoxButtons.YesNo); if (res = DialogResult.Yes) string sql = string.Empty; sql += update tb_user set uright=+this.txtright.Text+; sql += where uacc=+this.txtuacc.Text+; DataTable dt = DBHelp.ExeOleCommand(sql);
27、MessageBox.Show(修改成功!,恭喜!); Fill(); 5.添加图书信息主要代码:public partial class NewBook : Form public NewBook() InitializeComponent(); private void retbtn_Click(object sender, EventArgs e) this.Hide(); private void savebtn_Click(object sender, EventArgs e) if (this.booknotxt.Text = ) MessageBox.Show(请输入图书的信息!
28、, 提示!); return; if (this.booknametxt.Text = ) MessageBox.Show(请输入图书的信息!, 提示!); return; if (this.classtxt.Text = ) MessageBox.Show(请输入图书的信息!, 提示!); return; if (this.isbntxt.Text = ) MessageBox.Show(请输入图书的信息!, 提示!); return; if (this.bookcosttxt.Text = ) MessageBox.Show(请输入图书的信息!, 提示!); return; if (thi
29、s.bookwritertxt.Text = ) MessageBox.Show(请输入图书的信息!, 提示!); return; if (this.bookpubtxt.Text = ) MessageBox.Show(请输入图书的信息!, 提示!); return; if (this.numtxt.Text = ) MessageBox.Show(请输入图书的信息!, 提示!); return; if (this.notetxt.Text = ) MessageBox.Show(请输入图书的信息!, 提示!); return; /string pat3 = u4e00-u9fa5+$;/全
30、为汉字 /string pat4 = (u4e00-u9fa5+|A-Za-z+)$;/汉字或字母 /string pat5 = u4e00-u9fa52,4$;/两到四位汉字 string pat1 = (d-*)9dxX$;/图书的ISBN号格式X-XXXX-XXXX-X或X-XXX-XXXXX-X(X为数字,以图书实际ISBN号为准) string pat2 = +?1-90-9*$;/正整数 string pat3 = (0|1-90-9*)(.0-92)?$;/双精度浮点数 bool m1 = Program.match(this.isbntxt.Text, pat1); bool
31、m2 = Program.match(this.numtxt.Text, pat2); bool m3 = Program.match(this.bookcosttxt.Text, pat3); if (!m1) MessageBox.Show(图书的ISBN号格式为X-XXXX-XXXX-X或X-XXX-XXXXX-X(X为数字,以图书实际ISBN号为准)!, 提示!); this.isbntxt.Text = ; return; if (!m2) MessageBox.Show(图书购买数量应为大于0的整数!, 提示!); this.numtxt.Text = ; return; if (
32、!m3) MessageBox.Show(图书价格应为XX.XX元!, 提示!); this.bookcosttxt.Text = ; return; int num; num = Convert.ToInt32(this.numtxt.Text); for (int i = 1, k = Convert.ToInt32(this.booknotxt.Text); i = num; i+, k+) string sql; sql = insert into tb_book(bno,bname,bclass,bisbn,bcost,adder,adddate,bauthor,bpub,bstat
33、e,bnote) + values( + k.ToString() + , + this.booknametxt.Text + , + this.classtxt.Text + , + this.isbntxt.Text + , + this.bookcosttxt.Text + , + LoginForm.uname + , + DateTime.Now.ToString() + , + this.bookwritertxt.Text + , + this.bookpubtxt.Text + ,在库, + this.notetxt.Text + ); DataTable dt = DBHel
34、p.ExeOleCommand(sql); MessageBox.Show(注册成功!, 恭喜!); this.Hide(); private void rebtn_Click(object sender, EventArgs e) this.isbntxt.Clear(); Clears(); private void Clears() this.booknametxt.Clear(); /this.isbntxt.Clear(); this.bookcosttxt.Clear(); this.bookwritertxt.Clear(); this.bookpubtxt.Clear(); this.notetxt.Clear(); this.numtxt.Clear(); private void NewBook_Load(object sender, EventArgs e) /* string sql; sql = select bno from tb_book order by bno asc; DataTable dt = DBHelp.ExeOleCommand(sql); for (int i = 0, k = ; i 1; i+, k+) for (int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 穿经工冲突解决能力考核试卷含答案
- 轴承零件制造工安全文明水平考核试卷含答案
- 科研助理工作技能评优考核试卷含答案
- 中药炮炙工岗中安全规程考核试卷含答案
- 戏鞋工安全防护评优考核试卷含答案
- 鱼糜制作工岗前责任意识考核试卷含答案
- 生物农药生产工操作知识模拟考核试卷含答案
- 信号设备制造钳工创新方法知识考核试卷含答案
- 2026年山东医疗卫生事业单位招聘(医学影像技术)备考试题库资料含答案
- 2026年事业单位社会科学专技B类综合应用能力高分模拟试卷
- 老年人白内障课件
- 酒店总经理转正述职报告
- 2026中国移动校园招聘备考考试题库附答案解析
- 2025年陪诊师考试题库(附答案)
- 三一研发项目管理办法
- 运营商反诈知识培训课件
- 北大印章管理办法
- 前列腺癌护理个案查房
- 患者自行拔出尿管护理不良事件
- 高三化学一轮复习-配合物 课件
- 2024江苏南京证券校园招聘129人高频500题难、易错点模拟试题附带答案详解
评论
0/150
提交评论