电影信息管理理系统.doc

上传人:xin****828 文档编号:6631375 上传时间:2020-03-01 格式:DOC 页数:21 大小:388.50KB
返回 下载 相关 举报
电影信息管理理系统.doc_第1页
第1页 / 共21页
电影信息管理理系统.doc_第2页
第2页 / 共21页
电影信息管理理系统.doc_第3页
第3页 / 共21页
点击查看更多>>
资源描述
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 绪论在现实程序开发中, 我们开发的最多,最广泛的还是一些各类型的数据管理系统,当然不同的系统有功能上的差异,数据库也不一样,但最主要,最常见的功能无外乎对数据的基本操作(增删改查)。该简易电影记录管理系统能够实现对电影记录的各项操作。1.1 课题的背景及意义近年来随着电影行业的快速发展,需要处理的电影信息日趋加大。为了提高电影记录管理的管理水平,优化资源,尽可能的降低管理成本。电影记录管理系统是从电影的现状出发,根据电影记录管理的新要求进行开发设计,它解决了电影记录管理数据信息量大,修改不方便,对一系列数据进行统计与分析花费时间长等问题,帮助电影管理人员有效管理电影记录信息。1.1.1 系统功能设计1:用户登陆 实现登陆界面 跳转主页面。2:增删查改 实现电影信息的增删查改。3:连接RFID数据 实现将RFID标签数据读入系统。4:密码修改 实现用户密码修改功能,完善管理安全。5:日志查看 用于记录和查看用户的系统登录和退出历史。1.1.2 系统设计该电影信息管理系统所采用的技术及开发工具,涉及页面开发技术、采用的架构、数据库管理系统、web服务器及开发工具、us、IS015693读写器等。2 相关技术及工具介绍该电影信息管理系统所采用的技术及开发工具,涉及页面开发技术、采用的架构、数据库管理系统、web服务器及开发工具等。2.1 系统功能设计根据需求分析确定该系统划分为以下几个功能:(1) 电影记录管理系统的登录模块。 1:创建登陆界面,然后再添加一个登录成功后 的跳转窗体 name: FrmManager.cs 2:创建一个数据库用于存取用户的账户和密码信息,建数据表。 3:设置 列名(字段名) 数据类型 以及 是否允许该字段为空列名分别为 用户ID: MId 用户名: MUserName 用户密码: MUserPwd 4:设置MId 的主键,是否自我增长标识(Identity Specification)也设置一下.将 Identity Specification 中的 Is Identity 设置为 Yes(目的是让每插入1行新数据 ID数自动+1).设好了以后保存数据表,表名为MovieAccount. .数据表建完以后,我们需要手动插入用户登录系统所需要的用户名和密码 5:设置登陆界面 2.2 用户信息管理功能的实现2.2.1 界面及数据库设计用户信息管理功能主要实现系统用户对自己注册信息的增删查改。 (1) 新增数据表 我们在之前的数据库Movie中创建一个Record数据表,用于存储我们需要操作的电影记录数据,这里Id需要设置为自动增长,手动插入一些数据.数据库创建完成后,开始实施系统界面. (2)界面设计 窗体name: FrmManager 文本框 电影名称name:txtMovie 导演 name:txtDirector 发型日期name:txtDate 按钮 查看记录name:btnView 删除记录name:btnDelete 添加记录name:btnAdd 保存记录name:btnSave 2.2.2RFID串口设计该功能主要是刷进电影数据,通过读卡器对电影光盘之类中的RFID标签读取物流信息。RFID系统在实际应用中,电子标签附着在待识别物体的表面,电子标签中保存有约定格式的电子数据。读卡器可无接触地读取并识别电子标签中所保存的电子数据,从而达到自动识别物体的目的。读卡器通过天线发送出一定频率的射频信号,当标签进入磁场时产生感应电流从而获得能量,发送出自身编码等信息,被读取器读取并解码后送至电脑主机进行相关处理。2.2.3日志查看功能 1:在登录窗体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 stringSituation;)附 录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 (SqlDataReader 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(object 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.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 = 读取状态:成功!; /reader.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.ReadTimeout = 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=insertintoRecord(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 SqlParameter(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(添加失败!); 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.Selected) /将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.ExecuteNonQuery(); 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.Text = 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; /将当前行的日期单元格的值 赋给 时间对象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) /在对数据进行修改之前 对文本框的内容做一下检查, 如果为空 则 提示重新输入 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.Text + ,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(更新失败!); return;/ 并且返回 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; SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = new SqlCommand(sql, conn); DataTable dt = new DataTable(); SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(dt); dgvManager.DataSource = dt;6日志查看功能核心代码 if (pwd = txtPwd.Text) /获取登陆成功后的用户ID Uid = txtName.Text; /获取当前登录时间 Time = DateTime.Now; /获取当前用户登录的情况 Situation = 登录; /说明在该账户下 密码正确, 系统登录成功 MessageBox.Show(系统登录成功,正在跳转主页面.); FrmMain main = new FrmMain(); main.Show();this.Hide();参考文献 1:物联网射频识别技术(RFID)技术与应用 人民邮电出版社 2:Programming.C# 3:Visual J#致谢 本课程设计在李永明老师的悉心指导下完成的。老师渊博的专业知识、严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严于律己、宽以待人的崇高风范,朴实无法、平易近人的人格魅力对本人影响深远。不仅使本人树立了远大的学习目标、掌握了基本的研究方法,还使本人明白了许多为人处事的道理。本次课程设计从选题到完成,每一步都是在老师的悉心指导下完成的,倾注了老师大量的心血。在此,谨向老师表示崇高的敬意和衷心的感谢!在写课程设计的过程中,遇到了很多的问题,在老师的耐心指导下,问题都得以解决。所以在此,再次对老师道一声:老师,谢谢您!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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