1、标准文案 PINGDINGSHAN UNIVERSITYRFID原理与应用课程设计题 目: 电影信息管理理系统的实现 院(系): 信息工程学院 专业年级: 物联网工程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致 谢19大全标准文案1 绪论
2、在现实程序开发中, 我们开发的最多,最广泛的还是一些各类型的数据管理系统,当然不同的系统有功能上的差异,数据库也不一样,但最主要,最常见的功能无外乎对数据的基本操作(增删改查)。该简易电影记录管理系统能够实现对电影记录的各项操作。1。1 课题的背景及意义近年来随着电影行业的快速发展,需要处理的电影信息日趋加大。为了提高电影记录管理的管理水平,优化资源,尽可能的降低管理成本。电影记录管理系统是从电影的现状出发,根据电影记录管理的新要求进行开发设计,它解决了电影记录管理数据信息量大,修改不方便,对一系列数据进行统计与分析花费时间长等问题,帮助电影管理人员有效管理电影记录信息。1。1.1 系统功能设
3、计1:用户登陆 实现登陆界面 跳转主页面。2:增删查改 实现电影信息的增删查改。3:连接RFID数据 实现将RFID标签数据读入系统。4:密码修改 实现用户密码修改功能,完善管理安全。5:日志查看 用于记录和查看用户的系统登录和退出历史。大全标准文案1.1。2 系统设计该电影信息管理系统所采用的技术及开发工具,涉及页面开发技术、采用的架构、数据库管理系统、web服务器及开发工具、us、IS015693读写器等.标准文案2 相关技术及工具介绍该电影信息管理系统所采用的技术及开发工具,涉及页面开发技术、采用的架构、数据库管理系统、web服务器及开发工具等。2。1 系统功能设计根据需求分析确定该系统
4、划分为以下几个功能:(1) 电影记录管理系统的登录模块。 1:创建登陆界面,然后再添加一个登录成功后 的跳转窗体 name: FrmManager。cs 2:创建一个数据库用于存取用户的账户和密码信息,建数据表. 3:设置 列名(字段名) 数据类型 以及 是否允许该字段为空列名分别为 用户ID: MId 用户名: MUserName 用户密码: MUserPwd 4:设置MId 的主键,是否自我增长标识(Identity Specification)也设置一下。将 Identity Specification 中的 Is Identity 设置为 Yes(目的是让每插入1行新数据 ID数自动+
5、1).设好了以后保存数据表,表名为MovieAccount. .数据表建完以后,我们需要手动插入用户登录系统所需要的用户名和密码 5:设置登陆界面标准文案2。2 用户信息管理功能的实现2。2。1 界面及数据库设计用户信息管理功能主要实现系统用户对自己注册信息的增删查改。 (1) 新增数据表 我们在之前的数据库Movie中创建一个Record数据表,用于存储我们需要操作的电影记录数据,这里Id需要设置为自动增长,手动插入一些数据.数据库创建完成后,开始实施系统界面.标准文案(2)界面设计 窗体name: FrmManager 文本框 电影名称name:txtMovie 导演 name:txtDi
6、rector 发型日期name:txtDate 按钮 查看记录name:btnView 删除记录name:btnDelete 添加记录name:btnAdd 保存记录name:btnSave标准文案 2。2。2RFID串口设计该功能主要是刷进电影数据,通过读卡器对电影光盘之类中的RFID标签读取物流信息。RFID系统在实际应用中,电子标签附着在待识别物体的表面,电子标签中保存有约定格式的电子数据.读卡器可无接触地读取并识别电子标签中所保存的电子数据,从而达到自动识别物体的目的。读卡器通过天线发送出一定频率的射频信号,当标签进入磁场时产生感应电流从而获得能量,发送出自身编码等信息,被读取器读取并
7、解码后送至电脑主机进行相关处理。标准文案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:登
8、录情况Situation2种包括”登录”和”退出 (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 = ne
9、w 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(”密码错误!请再次输入!”)
10、; 标准文案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)
11、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, da
12、ta4, 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。StopBit
13、s = 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 vo
14、id 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;
15、 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.Parame
16、ters.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 = ”d
17、elete 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(con
18、nStr); 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_CellC
19、ontentClick(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
20、(); /new一个时间对象 目的是将电影发行时间的小时,分和秒给去掉 保留到最小单位为日 DateTime datetoDay = new DateTime()。Date; /将当前行的日期单元格的值 赋给 时间对象datetoDay datetoDay = Convert.ToDateTime(dgvManager。Rowse.RowIndex。Cells”Date_Released”标准文案。Value); /通过ToShortDateString()方法 将日期后的00:00:00 给剔除掉 并赋给 txtDate文本框 txtDate。Text = datetoDay。ToShort
21、DateString();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) s
22、tring 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
23、, 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 voi
24、d 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
25、(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:物联网射频识别技术(R
26、FID)技术与应用 人民邮电出版社 2:Programming。C# 3:Visual J#标准文案致谢 本课程设计在李永明老师的悉心指导下完成的。老师渊博的专业知识、严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严于律己、宽以待人的崇高风范,朴实无法、平易近人的人格魅力对本人影响深远。不仅使本人树立了远大的学习目标、掌握了基本的研究方法,还使本人明白了许多为人处事的道理。本次课程设计从选题到完成,每一步都是在老师的悉心指导下完成的,倾注了老师大量的心血.在此,谨向老师表示崇高的敬意和衷心的感谢!在写课程设计的过程中,遇到了很多的问题,在老师的耐心指导下,问题都得以解决。所以在此,再次对老师道一声:老师,谢谢您!