C#实验c_图书管理系统源代码.docx

上传人:无*** 文档编号:68460162 上传时间:2022-12-27 格式:DOCX 页数:61 大小:299.88KB
返回 下载 相关 举报
C#实验c_图书管理系统源代码.docx_第1页
第1页 / 共61页
C#实验c_图书管理系统源代码.docx_第2页
第2页 / 共61页
点击查看更多>>
资源描述

《C#实验c_图书管理系统源代码.docx》由会员分享,可在线阅读,更多相关《C#实验c_图书管理系统源代码.docx(61页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1 .登陆界面OleDbConnection cn = new OleDbConnection( uProvider=Microsoft. Jet.OLEDB .4.0; Data Source=C:test.mdb;H);cn.Open();cn.Close();/Z读取数据到DataTableOleDbConnection cn = new OleDbConnection(HProvider=Microsoft.Jet.OLEDB.4.0; Data Source=C:test.mdb;M);DataTable userTbl = new DataTable();OleDbDataAdap

2、ter da = new OleDbDataAdapter(SELECT * FROM |Usern, cn); da.Fill(userTbl);/Z插入一条记录OleDbConnection cn = new OleDbConnection(Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:test.mdb;M);OleDbCommand cmd = new OleDbCommand(INSERT INTO User (ID, UserName, UserPassword) VALUES (1, use jab, 123), cn);cn.Op

3、en();cmd.ExecuteNonQueryO;cn.Close();/Z更新OleDbConnection cn = new OleDbConnection(ProvideiMicrosoft.Jet.OLEDB.4.0; Data Source=C:test.mdb;);OleDbCommand cmd = new OleDbCommand(UPDATE User SET UserPassword:newpwd WHERE UserName=user_ab, cn);cn.Open();cmd.ExecuteNonQueryO;cn.Close();13叵区)登录界面登录主要代码:pu

4、blic partial class LoginForm : Form public static string uacc; public static string upsw; public static string uname; public static string usex; public static string upart; public static string uright;pub 1 i c Logi nFormOInitializeComponent();private void loginbtn_Click(object sender, EventArgs e)(

5、if (this, useracctxt. Text. Trim() & this, pswtxt. Text =)(MessageBox. Show(请输入您的用户名和密码!二提示!); return;try(and upsw二string sql;sql = select * from tb_user where uacc二 + this, useracctxt. Text + + this, pswtxt. Text +;OleDbDataReader dr = DBHelp.OleReader(sql);dr. Read ();i f (dr. HasRows)(uacc = this

6、, useracctxt. Text;upsw = this, pswtxt. Text;uname = dr*uname*. ToStringO ;usex = dr usex*. ToStringO ; upart = dr*upart*. ToStringO ;uright = dr *uright*. ToStringO ;MainForm af = new Ma inForm(this);this. HideO ;this, useracctxt. Clear ();thi s. pswtxt. Clear ();af. Show ();elseMessageBox.Show(账号或

7、密码错误! ”,”提示!;this, useracctxt. Clear ();this, pswtxt. Clear ();this, useracctxt. Focus 0;catch (Except ion)(MessageBox.Show(“数据库无法连接!,警告!);)private void cancelbtn_Click(object sender, EventArgs e)(Application. Exit();)pri vate void I.ogi nForm_C losing (object sender, FoiinC 1 os i ngEvcn t Args e)

8、(Application.Exit ();2 .主界面(图较小,自己可以拉大点)图书管建系统主要代码就不写了,很简单。3.权限设置主要代码:public partial class RightSet : Form(pub 1i c RightSet 0Ini tial izeComponent ();private void RightSet Load(object sender, EventArgs e) (this, rightbox. Selectedlndex = 0;/this, treeright. ExpandAl 1 ();FillO;private void okbtn_Cl

9、ick(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 = string. Empty)MessageBox. Show(请输入借书押金金额!,提示!”); return;)i f (this, txtfi

10、ne. Text = string. Empty)(UessageBox. Show (请输入超期罚款金额!,提示!”); return;if (this, txttim. Text = string. Empty)(MessageBox.Show(请输入图书遗失罚款倍数!,提示!”); return;Array Li st arr = new ArrayLi st ();foreach (TreeXode nodes in this, treeright. Nodes) (if (nodes. Checked)(arr. Add(l);elsearr. Add(0”);foreach(Tre

11、( ode node in nodes. Nodes) i f (node. Checked)(arr. Add(l);else(arr. Add ();)string a=new stringl1;for (int i = 0; i arr.Count; i+)(if (arri. ToString0. TrimO = 1)(ai = yes;)else(ai = no;string sql = string. Empty;sql += select * from tb ri ght where uright=+ this, rightbox. Text +DataTable dt = DB

12、Hc1p. ExeOleCommand(sql);bool b = false;whi le (dt. Rows. Count != 0)(b - true;break;string sqll;if (b)sqll=update tb right set ;sql 1+= maxbook=+ this, txtnum. Text +, *;sqll+= maxdate=+ this, txtday. Text +, *;sqll+= rcost=+ this, txtcost. Text +, *;sql 1+= rfine二+ this, txtfine. Text + ,;sqll+= r

13、tim= + this.txttim. Text +,;sql 1+= rbm=* + a0sql 1+= rum= + alsqll+= rrm= + a 2sqll+= rbornr + a 3sqll+= ris= + a4sqll+= rbis=,* + a5 + “,;sqll+= ruis= + aL6J +,;sqll+= rboris=, + a7 +sqll+= rblp= + a8sqll+= rbl=+ a 9 +sqll+= rip二+ a10 + ;sql 1+= where uright= * + this, rightbox. Text +elsesql1 = i

14、nsert intotb_right (uright, max book, maxdate, rcost, rfine, rtim, rbm, rum, rrm, rborm, ris, rbis, ruis, rboris, rblp ,rbl,rlp);sql 1 +=values (* * + this, right box. Text + + this, txtnum. Text + *,+this, txtday. Text +,+ this, txtcost. Text +,+ this, txtfine. Text +,+this, txttim.Text +a0+ al + a

15、2+ a3a4 + a5 +,/ + a6+ a7 +*/ + a8a9+ a10 + )DataTable dtl = DBHelp. Exe01eCommand(sql1);FillO;private void Fi 11 ()string sql;sql = select rid as ID 号,uright as 用户身份,max book as 最大借书数量,maxdate as 最 大借阅时间,rcost as押金,rfine as超期罚率,rtim as遗失赔率,rbm as图书管理,rum as用户管理,口m as权限管理,rborm as借阅管理,ris as信息査询,rbi

16、s as图书信息査询,ruis as用户信息査 询,rborisas借阅历史査询,rblp as图,挂失处理,rbl as图打挂失,rip as挂失处理from tb right;I);it dTiible dt = DBHelp. ExeOleCommand (sql);this. dataGridViewl. DataSource = dt;private void ce1l_c1ick(object sender, DataGridViewCe11EventArgs e) this, rightbox. Text = this. dataGridViewl1,this. dataGrid

17、Viewl. CurrentCel 1. Rowindex. Value. ToStringO. TrimO ;this, txtnum. Text = this. dataGridViewl 2,this. dataGridViewl. CurrentCel 1. Rowindex. Value. ToStringO. TrimO ;this, txtday. Text = this. dataGridViewl3,this. dataGridViewl. CurrentCel 1. Rowindex. Value. ToStringO. TrimO ;this, txtcost. Text

18、 = this. dataGridViewl 4,this. dataGridViewl. CurrentCel 1. Rowindex. Value. ToStringO. TrimO ;this, txtfine. Text = this. dataGridViewl5,this. dataGridViewl. CurrentCel 1. Rowindex. Value. ToStringO. TrimO ;this, txttim. Text = this. dataGridViewl6,this. dataGridViewl. CurrentCel 1. Rowindex. Value

19、. ToStringO. TrimO ;ArrayList list = new ArrayList();string sql = select * from tb right where uright:+ this.rightbox. Text + DataTable dt = DBHelp. ExeOleCommand(sql);if (dt. Rows.Count != 0)(for (int i = 0; i 11; i+)(list. Add(dt. Rows 7+i. ToString0);)Arrayl J st arr = new ArrayLi st ();foreach (

20、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.ToStringO = yes)(TreeNode)arri). Checked = true;else(TreeNode)arri). Checked = false;)4.权限修主要代码:public partial class I sorRight :erm(public

21、UserRight()(Initial izeComponent ();pri vate voi d btncancel_Cl ick (object sender, I: vent Args e)this. CloseO;pri vate voi d Us er Ri ght_I.oad (object sender, Event Args e) this, checkbox. Selectedlndex = 0;this, partbox. Selectedlndex = 0;private void Fill()if (this, checkbox. Text = (MessageBox

22、. 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 部 f J, uteIphone as 移动电话,uphone as 固定电话,udate as 注册 II 期,uright as 权限 from tb user;if (this, checktx

23、t. Text !=) (string c = this, checkbox. Selectedlndex. ToStringO ;switch (c)(case :用户帐号if (this, checktxt. Text != string. Empty) (sql += where uacc 1 ike * % + this, checktxt. Text + % ;)break;case 1:用户姓名 if (this, checktxt. Text != string. Empty) (sql += where uname 1 ike + this, checktxt. Text +

24、% ;)break;default:break;if (this, partbox. Selectedlndex. ToStringO != 0)sql += and upart=+ this, partbox. Text +;) else(if (this, partbox. Selectedlndex. ToStringO != 0)(sql += * where upart=+ this, partbox. Text +;)sql += order by uacc asc;DataTable dt = DBUelp. ExeOleCommand(sql);this. dataGridVi

25、ewl. DataSource = dt;private void checkbtn Click (object sender, EventArgs e)FillO;private void cell_click(object sender, Data(iridViewCc 11 EventArgs e) (this, txtuacc. Text = this. dataGridViewll, this. dataGridViewl. CurrentCell. Rowindex. Value. ToString0. TrimO ;this, txtname. Text = this. data

26、GridViewl2,this. dataGridViewl. CurrentCel 1. Rowindex. Value. ToStringO. TrimO ;thi s. txtsex. Text = this. dataGridViewl 3,this. dataGridViewl. CurrentCel 1. Rowindex. Value. ToStringO. TrimO ;this, txtpart. Text = this. dataGridViewl4, this. dataGridViewl. CurrentCell. Rowindex. Value. ToString()

27、. TrimO ;this, txttel. Text = this. dataGridViewl 5, this. dataGridViewl. CurrentCell. Rowindex. Value. ToString(). TrimO ;this, txtphone. Text = this. dataGridViewl 6,this. dataGridViewl. CurrentCel 1. Rowindex. Value. ToString(). TrimO ;this, txtdate. Text = this. dataGridViewl7,this. dataGridView

28、l. CurrentCel 1. Rowindex. Value. ToString(). TrimO ;this, txtright. Text = this. dataGridViewl 8,this. dataGridViewl. CurrentCel 1. Rowindex. Value. ToString(). TrimO ;this, txtright. Enabled = true;private void btnchange_Click(object sender, EventArgs e) (if (this, txtuacc. Text = (MessageBox.Show

29、(执行操作前,请先在下表选择要修改的用户!。提示!”); return;)DialogResult res;res二Moss.咫,Bex. Show(您确定要修改该用丿吗?,提示!,;由()xBui ions. YesNo); if (res = DialogRcsult.Yes) (string sql = string. Empty;sql += update tb_user set uright二 +this. txtright. Text+ ;sql += where uacc=+this. txtuacc. Text十;DataTable dt = DBHolp. ExeOleCom

30、mand(sql);MessageBox. Show (修改成功!,恭喜!);FillO;)5.添加图书信息主要代码:public partial class NewBook : Form(public NewBook()(Ini tializeComponent ();)private void retbtn Click (object sender, EventArgs e)(this. Hide ();)private void savebtn Click(object sender, EventArgs e) (if (this, booknotxt. Text = (MessageB

31、ox. Show (请输入图书的信息!,提示!); 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 =)(MessagcBcx. Show(请输入图书的信息!

32、,提示!); return;)if (this, bookwrit er txt. Text =)(MessageBox. Show(请输入图书的信息! *,提示!); return;if (this, bookpubtxt. Text = (MessageBox.Show(请输入图书的信息!”,提示!); return;)if (this, numtxt. Text = *)(MessageBox.Show(请输入图书的信息! ”,“提示!”); return;if (this, notetxt. Text = *)(MessageBox.Show(请输入图书的信息!”,提示!”); ret

33、urn;/string pat3 = 7u4e00-u9fa5+$”;全为汉字/string pat4 =(u4e00-u9fa5 + | A-Za-z+) $”;汉字或字母/string pat5 =u4e00-u9fa5 2, 4$”;两到四位汉字string patl =(dT*) 9 dxX$”;图书的ISBN号格式X-XXXX-XXXX-X或x-xxx-xnn-x(X为数字,以图书实际isbn号为准)string pat2 =+?1-9 0-9*$;/正整数string pat3 =(0 1-9 0-9*) (. 0-9 2)?$”;双精度浮点数 bool ml = Program,

34、 match (this, isbntxt. Text, patl);bool m2 = Program, match (this. numtxt. Text, pat2);bool m3 = ProgFcun. match (this, book cost txt. Text, pat3);if (!ml)(MessageBox. Show(图书的ISBN号格式为X-XXXX-XXXX-X或X-XXX-XXXXX-X (X为数字,以 图书实际ISBN号为准)!,提示!”);this, isbntxt. Text = *;return;if (!m2)(MessageBox. Show(图书购

35、买数量应为大于0的整数!,提示!”);this, numtxt.Text = *;return;if (!m3)McssageBox. Show (图书价格应为 XX. XX 元!,提示!); this, bookcost txt. Text =; return;)int num;num = Convert. Tolnt32 (this, numtxt. Text);for (int i = 1, k = Convert. Tolnt32(this, booknotxt. Text); i = num; i+, k+) (string sql;sq! 二 insert intotb book

36、(bno, bname, bclass, bisbn, bcost, adder, adddate, bauthor, bpub, bstate, bnote)+ values (* + k. ToString0 +,+ this, booknametxt. Text +,+this, classtxt. Text +, “ + this, isbntxt.Text +,+ this, bookcosttxt. Text +,+Log inForm, uname +,+ Dat eTime. Now. ToString () +,+ this, bookwritertxt. Text +,th

37、is, bookpubtxt. Text + ,在库,+ this, note txt. Text + );DataTable dt = DBHclp. ExeOleCommand(sql); MessageBox. Show (注册成功!,恭喜!”); this. Hide();private void rebtn_Click(object sender, EventArgs e) (this, isbntxt. Clear0 ; Clears ();private void Clears() (this, book name txt. Cl ear 0 ;/this, isbntxt. C

38、learO ;this, bookcost txt. ClearO ;this, bookwrit er txt. ClearO ;thi s. bookpubtxt. Clear ();this. notetxt. ClearO ;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 (

39、int i = 0, k = 10000001; i 1; i+, k+) (for (int j = 0; j dt. Rows. Count; j+) (if (dt. Rowsj 0. ToStringO. TrimO. Equals(k. ToStringO) k+;this, booknotxt. Items. Add(k. ToStringO); this, booknotxt. Selectedlndex = 0;this, classtxt. Selectedlndex = 0;*/string sql;sql = select top 1 bno from tb book o

40、rder by bno desc; DataTable dt = DBHelp. ExeOleCommand(sql);int k;for (int i = 0; i 1; i+) (if (dt. Rows0 0. ToStringO =) (k = 10000001; else (k = ( onvert. Tolnt32 (dt. Rows0 0. ToStringO);k+;this, booknotxt. Items. Add(k. ToStringO);this, booknotxt. Selectedlndex = 0;this, classtxt. Selectedlndex

41、= 0;private void findbtn_Click(object sender, EventArgs e)if (this, isbntxt. Text = Mes sageBox. Show (请输入图书的 ISBN 号!”,提示!”); return;string sql;sql = select * from tb book where bisbn=, + this, isbntxt. Text + OleDbDataReader dr = DBHelp. OleReader(sql);dr. Read ();if (dr. HasRows) (this, bookname t

42、xt. Text = dr*bname. ToStringO. TrimO ;this, classtxt. Text = dr be lass. ToStringO. TrimO ;this, bookcost txt. Text = drbcost. ToStringO. TrimO ;this, bookwrit er txt. Text = drbauthor. ToStringO. FrimO ;this, bookpubtxt. Text 二 drbpub”. ToStringO. TrimO ;this, notetxt. Text = dr“bnote. ToStringO.

43、TrimO ;VessageBox.Show(找到匹配图书信息,自动填充基木信息,请填充余下信息!,提示! ;this, numtxt. Enabled = true;) else (ClearsO ;MessageBox. Show(未找到匹配图书信息!,提示!);this, booknotxt. Enabled = true;this, bookname txt. Enabled = true;this, classtxt. Enabled = true;this, bookcosttxt. Enabled = true;this, bookwritertxt. Enabled = tru

44、e;this, bookpubtxt.Enabled = true;this, numtxt. Enabled = true;this, notetxt. Enabled = true;6.图书信息管理图书信息管理图书信息表主要代码:public partial class BookManage : Formpublic BookManage()Ini tializeComponent();string bookisbn;private void BookManage_Load(object sender, EventArgs e) (thi s. checkbox. Selectedlndex = 0;thi s. classbox. Selectedlndex = 0;private void checkbtn_Click(object sender, EventArgs e) (FillGridO;private v

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com