电影信息管理系统理系统_第1页
电影信息管理系统理系统_第2页
电影信息管理系统理系统_第3页
电影信息管理系统理系统_第4页
电影信息管理系统理系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 PINGDINGSHAN UNIVERSITY RFID原理与应用课程设计题 目: 电影信息管理理系统的实现 院(系): 信息工程学院 专业年级: 物联网工程2014级 姓 名: jjzjcjzc 学 号: csjkkcskl 指导教师: csjklks 2016年6月28日 目 录1 绪论11.1 课题的背景及意义11.1.1 系统功能设计11.1.2 系统设计12 相关技术及工具介绍32.1 系统功能设计32.2 用户信息管理功能的实现42.2.1 界面及数据库设计42.2.1 RFID串口设计62.2.1 日志查看功能7附 录9参考文献18致 谢191 绪论在现实程序开发中, 我们开发

2、的最多,最广泛的还是一些各类型的数据管理系统,当然不同的系统有功能上的差异,数据库也不一样,但最主要,最常见的功能无外乎对数据的基本操作(增删改查)。该简易电影记录管理系统能够实现对电影记录的各项操作。1.1 课题的背景及意义近年来随着电影行业的快速发展,需要处理的电影信息日趋加大。为了提高电影记录管理的管理水平,优化资源,尽可能的降低管理成本。电影记录管理系统是从电影的现状出发,根据电影记录管理的新要求进行开发设计,它解决了电影记录管理数据信息量大,修改不方便,对一系列数据进行统计与分析花费时间长等问题,帮助电影管理人员有效管理电影记录信息。1.1.1 系统功能设计1:用户登陆 实现登陆界面

3、 跳转主页面。2:增删查改 实现电影信息的增删查改。3:连接RFID数据 实现将RFID标签数据读入系统。4:密码修改 实现用户密码修改功能,完善管理安全。5:日志查看 用于记录和查看用户的系统登录和退出历史。1.1.2 系统设计该电影信息管理系统所采用的技术及开发工具,涉及页面开发技术、采用的架构、数据库管理系统、web服务器及开发工具、us、IS015693读写器等。2 相关技术及工具介绍该电影信息管理系统所采用的技术及开发工具,涉及页面开发技术、采用的架构、数据库管理系统、web服务器及开发工具等。2.1 系统功能设计根据需求分析确定该系统划分为以下几个功能:(1) 电影记录管理系统的登

4、录模块。 1:创建登陆界面,然后再添加一个登录成功后 的跳转窗体 name: FrmManager.cs 2:创建一个数据库用于存取用户的账户和密码信息,建数据表。 3:设置 列名(字段名) 数据类型 以及 是否允许该字段为空列名分别为 用户ID: MId 用户名: MUserName 用户密码: MUserPwd 4:设置MId 的主键,是否自我增长标识(Identity Specification)也设置一下.将 Identity Specification 中的 Is Identity 设置为 Yes(目的是让每插入1行新数据 ID数自动+1).设好了以后保存数据表,表名为MovieAc

5、count. .数据表建完以后,我们需要手动插入用户登录系统所需要的用户名和密码 5:设置登陆界面 2.2 用户信息管理功能的实现2.2.1 界面及数据库设计用户信息管理功能主要实现系统用户对自己注册信息的增删查改。 (1) 新增数据表 我们在之前的数据库Movie中创建一个Record数据表,用于存储我们需要操作的电影记录数据,这里Id需要设置为自动增长,手动插入一些数据.数据库创建完成后,开始实施系统界面. (2)界面设计 窗体name: FrmManager 文本框 电影名称name:txtMovie 导演 name:txtDirector 发型日期name:txtDate 按钮 查看记

6、录name:btnView 删除记录name:btnDelete 添加记录name:btnAdd 保存记录name:btnSave 2.2.2RFID串口设计该功能主要是刷进电影数据,通过读卡器对电影光盘之类中的RFID标签读取物流信息。RFID系统在实际应用中,电子标签附着在待识别物体的表面,电子标签中保存有约定格式的电子数据。读卡器可无接触地读取并识别电子标签中所保存的电子数据,从而达到自动识别物体的目的。读卡器通过天线发送出一定频率的射频信号,当标签进入磁场时产生感应电流从而获得能量,发送出自身编码等信息,被读取器读取并解码后送至电脑主机进行相关处理。2.2.3日志查看功能 1:在登录窗

7、体FrmLogin.cs定义3个全局变量,用于获取登录的用户名,登录情况(登录还是退出)以及相应的时间;然后在日志查看窗体调用该全局变量并且通过使用SQ插入语句将其保存到SQL Server中,然后在访问日志查看窗体的时候,通过窗体自动加载插入数据和查看数据的方法 2:定义3个全局变量: 1:登录成功和退出的用户Uid (public static string Uid;)-在第三章密码修改功能的时候已经定义了 2:登录成功和退出的时间Time (public static DateTime Time;) 3:登录情况Situation-2种包括登录和退出 (public static str

8、ingSituation;)附 录1 登陆界面的核心代码: private void btnLogin_Click(object sender, EventArgs e) using (SqlConnection conn = new SqlConnection(connStr) string sql = select MUserPwd from MovieAccount where MUserName = + txtName.Text + ; using (SqlCommand cmd = new SqlCommand(sql, conn) conn.Open(); using (SqlDa

9、taReader sdr = cmd.ExecuteReader() if (sdr.Read() string pwd = sdr.GetString(0).Trim(); if (pwd = txtPwd.Text) MessageBox.Show(系统登录成功,正在跳转主页面.); FrmManager manager = new FrmManager(); manager.Show(); this.Hide(); else MessageBox.Show(密码错误!请再次输入!); RFID串口设计核心代码: 1:读取数据 private void btnRead_Click(obje

10、ct sender, EventArgs e) /reader.OpenSerialPort(COM1); /System.Threading.Thread.Sleep(500); Byte data = new Byte8; int value = reader.GetOne(ref data); /if(value != 0) /int value = 0x01; / Inventory(data, 0x27, ref tagCount); if (value != 0) this.lblState.Text = 读取状态:失败,没有得到任何有效数据。; this.txtRFIDData.

11、Text = ; return; this.txtRFIDData.Text = String.Format(0:X21:X22:X23:X24:X25:X26:X27:X2, data0, data1, data2, data3, data4, data5, data6, data7); /String str = String.Format(0:X21:X22:X23:X24:X25:X26:X27:X2, data0, data1, data2, data3, data4, data5, data6, data7); this.lblState.Text = 读取状态:成功!; /rea

12、der.CloseSerialPort(); 2:设置串口参数 public Byte OpenSerialPort(String portName) try /设置串口参数 /serialport = new SerialPort(portName); serialport.PortName = portName; serialport.BaudRate = 115200; serialport.DataBits = 8; serialport.StopBits = StopBits.One; serialport.Parity = Parity.None; /serialport.Read

13、Timeout = 500; /serialport.WriteTimeout = 500; serialport.Open(); if (!serialport.IsOpen) return AllDone; /打开成功 else return SerialPortErr; /打开失败 catch return SerialPortErr; /打开失败 电影记录管理系统界面的核心代码: 1:增-添加记录(添加一条新记录)/添加数据 private void btnAdd_Click(object sender, EventArgs e) int n = 0; stringsql=insert

14、intoRecord(Movie_Name,Movie_Director,Date_Released) values (Movie_Name,Movie_Director,Date_Released); if (txtMovie.Text.Trim() = | txtDirector.Text.Trim() = | txtDate.Text.Trim() = ) MessageBox.Show(插入数据不能为空,请按要求插入数据!); return; SqlParameterparam=newSqlParameter(Movie_Name,txtMovie.Text), new SqlPara

15、meter(Movie_Director,txtDirector.Text), new SqlParameter(Date_Released,Convert.ToDateTime(txtDate.Text) ; SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); cmd.Parameters.AddRange(param); n = cmd.ExecuteNonQuery(); if (n = 0) MessageBox.Show(添加

16、失败!); return; else if (n 0) MessageBox.Show(添加成功!); conn.Close(); /调用refresh方法,在添加完成数据后 自动刷新 显示新数据 Refresh(true); 2:删-删除记录(删除已有记录)/删除数据private void btnDelete_Click(object sender, EventArgs e) /使用sql删除语句 string sql = delete from Record where 1=1; /如果datagridview的当前行被选中 if (dgvManager.CurrentRow.Selec

17、ted) /将sql语句 delete from Record where 1=1 + and Id = + 当前选中行的第0个单元格的号码(即Id号) sql = sql + and Id= + Convert.ToInt32(dgvManager.CurrentRow.Cells0.Value.ToString(); int n = 0; SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); n = cmd.ExecuteNonQue

18、ry(); if (n = 0) MessageBox.Show(不存在的ID!); return; else if (n 0) MessageBox.Show(删除成功!); conn.Close(); /删除完后 刷新一下当前数据 Refresh(); 3 改-保存记录(修改一条记录)/将鼠标点击的datagridview 上的行内容 传递给 文本框 private void dgvManager_CellContentClick(object sender, DataGridViewCellEventArgs e) /获取字段名为Movie_Name的单元格内容 txtMovie.Tex

19、t = dgvManager.Rowse.RowIndex.CellsMovie_Name.Value.ToString(); /同理 获取当前点击行里的 name属性为Movie_Director的单元格 获取并将其传至txtDirector 文本框 txtDirector.Text = dgvManager.Rowse.RowIndex.CellsMovie_Director.Value.ToString(); /new一个时间对象 目的是将电影发行时间的小时,分和秒给去掉 保留到最小单位为日 DateTime datetoDay = new DateTime().Date; /将当前行的

20、日期单元格的值 赋给 时间对象datetoDay datetoDay = Convert.ToDateTime(dgvManager.Rowse.RowIndex.CellsDate_Released.Value); /通过ToShortDateString()方法 将日期后的00:00:00 给剔除掉 并赋给 txtDate文本框 txtDate.Text = datetoDay.ToShortDateString();4 保存记录/更新数据操作 private void btnSave_Click(object sender, EventArgs e) /在对数据进行修改之前 对文本框的内

21、容做一下检查, 如果为空 则 提示重新输入 if (txtMovie.Text.Trim() = | txtDirector.Text.Trim() = | txtDate.Text.Trim() = ) MessageBox.Show(文本框的输入不能为空!); return; /使用SQL update 更新语句 /获取文本框中输入的内容, 通过Id进行更新(Id为当前鼠标点击行的Id) string sqlUpdate = update Record set Movie_Name = + txtMovie.Text + ,Movie_Director = + txtDirector.Te

22、xt + ,Date_Released= + txtDate.Text + where Id= + dgvManager.CurrentRow.Cells0.Value.ToString() + ; SqlConnection conn = new SqlConnection(connStr); SqlCommand cmdUpdate = new SqlCommand(sqlUpdate, conn); conn.Open(); int n = cmdUpdate.ExecuteNonQuery(); if (n = 0) /提示更新失败 MessageBox.Show(更新失败!); re

23、turn;/ 并且返回 else if (n 0) /否则更新成功 MessageBox.Show(恭喜你!更新成功!); /执行完数据更新操作后 需要关闭数据库 节省资源 conn.Close(); /更新完以后 调用刷新方法,将更新后的数据 显示在datagridview上面 Refresh();5:查-查看记录(查看当前所有记录) /查看并刷新所有数据 private void btnView_Click(object sender, EventArgs e) string sql = select Id,Movie_Name,Movie_Director,Date_Released from Record; SqlConnecti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论