电影信息管理系统理系统Word下载.docx
《电影信息管理系统理系统Word下载.docx》由会员分享,可在线阅读,更多相关《电影信息管理系统理系统Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
连接RFID数据实现将RFID标签数据读入系统。
4:
密码修改实现用户密码修改功能,完善管理安全。
5:
日志查看用于记录和查看用户的系统登录和退出历史。
1.1.2系统设计
该电影信息管理系统所采用的技术与开发工具,涉与页面开发技术、采用的架构、数据库管理系统、web服务器与开发工具、us、IS015693读写器等。
2相关技术与工具介绍
该电影信息管理系统所采用的技术与开发工具,涉与页面开发技术、采用的架构、数据库管理系统、web服务器与开发工具等。
2.1系统功能设计
根据需求分析确定该系统划分为以下几个功能:
(1)电影记录管理系统的登录模块。
1:
创建登陆界面,
2:
创建一个数据库用于存取用户的账户和密码信息,建数据表。
3:
设置列名(字段名)数据类型以与是否允许该字段为空
列名分别为
用户ID:
MId
用户名:
MUserName
用户密码:
MUserPwd
4:
设置MId的主键,是否自我增长标识(IdentitySpecification)也设置一下.将IdentitySpecification中的IsIdentity设置为Yes(目的是让每插入1行新数据ID数自动+1).
设好了以后保存数据表,表名为MovieAccount..数据表建完以后,我们需要手动插入用户登录系统所需要的用户名和密码
5:
设置登陆界面
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.
该功能主要是刷进电影数据,通过读卡器对电影光盘之类中的RFID标签读取物流信息。
RFID系统在实际应用中,电子标签附着在待识别物体的外表,电子标签中保存有约定格式的电子数据。
读卡器可无接触地读取并识别电子标签中所保存的电子数据,从而达到自动识别物体的目的。
读卡器通过天线发送出一定频率的射频信号,当标签进入磁场时产生感应电流从而获得能量,发送出自身编码等信息,被读取器读取并解码后送至电脑主机进展相关处理。
1:
在登录窗体FrmLogin.cs定义3个全局变量,用于获取登录的用户名,登录情况(登录还是退出)以与相应的时间;
然后在日志查看窗体调用该全局变量并且通过使用SQ插入语句将其保存到SQLServer中,然后在访问日志查看窗体的时候,通过窗体自动加载插入数据和查看数据的方法
2:
定义3个全局变量:
登录成功和退出的用户Uid(publicstaticstringUid;
)
--在第三章密码修改功能的时候已经定义了
登录成功和退出的时间Time
(publicstaticDateTimeTime;
)
3:
登录情况Situation-2种包括"
登录"
和"
退出"
(publicstaticstringSituation;
附录
1登陆界面的核心代码:
privatevoidbtnLogin_Click(objectsender,EventArgse){
using(SqlConnectionconn=newSqlConnection(connStr))
{
stringsql="
selectMUserPwdfromMovieAccountwhereMUserName='
"
+txtName.Text+"
'
;
using(Sqlmandcmd=newSqlmand(sql,conn))
conn.Open();
using(SqlDataReadersdr=cmd.ExecuteReader()
if(sdr.Read())
stringpwd=sdr.GetString(0).Trim();
if(pwd==txtPwd.Text)
MessageBox.Show("
系统登录成功,正在跳转主页面..."
);
FrmManagermanager=newFrmManager();
manager.Show();
this.Hide();
}
else
密码错误!
请再次输入!
RFID串口设计核心代码:
读取数据
privatevoidbtnRead_Click(objectsender,EventArgse)
//reader.OpenSerialPort("
1"
//System.Threading.Thread.Sleep(500);
Byte[]data=newByte[8];
intvalue=reader.GetOne(refdata);
//if(value!
=0)
//intvalue=0x01;
//Inventory(data,0x27,reftagCount);
if(value!
this.lblState.Text="
读取状态:
失败,没有得到任何有效数据。
this.txtRFIDData.Text="
return;
this.txtRFIDData.Text=String.Format("
{0:
X2}{1:
X2}{2:
X2}{3:
X2}{4:
X2}{5:
X2}{6:
X2}{7:
X2}"
data[0],data[1],data[2],data[3],data[4],data[5],data[6],data[7]);
//Stringstr=String.Format("
成功!
//reader.CloseSerialPort();
设置串口参数
publicByteOpenSerialPort(StringportName)
try
//设置串口参数
//serialport=newSerialPort(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)
returnAllDone;
//打开成功
returnSerialPortErr;
//打开失败
catch
电影记录管理系统界面的核心代码:
增-添加记录
(添加一条新记录)
//添加数据
privatevoidbtnAdd_Click(objectsender,EventArgse)
intn=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()=="
插入数据不能为空,请按要求插入数据!
SqlParameter[]param={newSqlParameter("
Movie_Name"
txtMovie.Text),
newSqlParameter("
Movie_Director"
txtDirector.Text),
Date_Released"
Convert.ToDateTime(txtDate.Text))
};
SqlConnectionconn=newSqlConnection(connStr);
Sqlmandcmd=newSqlmand(sql,conn);
cmd.Parameters.AddRange(param);
n=cmd.ExecuteNonQuery();
if(n==0)
添加失败!
elseif(n>
0)
添加成功!
conn.Close();
//调用refresh方法,在添加完成数据后自动刷新显示新数据
Refresh(true);
2:
删-删除记录
(删除已有记录)
//删除数据
privatevoidbtnDelete_Click(objectsender,EventArgse)
{
//使用sql删除语句
deletefromRecordwhere1=1"
//如果datagridview的当前行被选中
if(dgvManager.CurrentRow.Selected)
//将sql语句deletefromRecordwhere1=1+andId=+当前选中行的第0个单元格的(即Id号)
sql=sql+"
andId="
+Convert.ToInt32(dgvManager.CurrentRow.Cells[0].Value.ToString());
不存在的ID!
删除成功!
//删除完后刷新一下当前数据
Refresh();
}
3改-保存记录
(修改一条记录)//将鼠标点击的datagridview上的行容传递给文本框
privatevoiddgvManager_CellContentClick(objectsender,DataGridViewCellEventArgse)
//获取字段名为Movie_Name的单元格容
txtMovie.Text=dgvManager.Rows[e.RowIndex].Cells["
].Value.ToString();
//同理获取当前点击行里的name属性为Movie_Director的单元格获取并将其传至txtDirector文本框
txtDirector.Text=dgvManager.Rows[e.RowIndex].Cells["
//new一个时间对象目的是将电影发行时间的小时,分和秒给去掉保存到最小单位为日
DateTimedatetoDay=newDateTime().Date;
//将当前行的日期单元格的值赋给时间对象datetoDay
datetoDay=Convert.ToDateTime(dgvManager.Rows[e.RowIndex].Cells["
]
.Value);
//通过ToShortDateString()方法将日期后的00:
00:
00给剔除掉并赋给txtDate文本框
txtDate.Text=datetoDay.ToShortDateString();
4保存记录
//更新数据操作
privatevoidbtnSave_Click(objectsender,EventArgse)
//在对数据进展修改之前对文本框的容做一下检查,如果为空如此提示重新输入
文本框的输入不能为空!
//使用SQLupdate更新语句
//获取文本框中输入的容,通过Id进展更新(Id为当前鼠标点击行的Id)
stringsqlUpdate="
updateRecordsetMovie_Name='
+txtMovie.Text+"
Movie_Director='
+txtDirector.Text+"
Date_Released='
+txtDate.Text+
"
whereId='
+dgvManager.CurrentRow.Cells[0].Value.ToString()+"
SqlmandcmdUpdate=newSqlmand(sqlUpdate,conn);
intn=cmdUpdate.ExecuteNonQuery();
//提示更新失败
更新失败!
//并且返回
//否如此更新成功
恭喜你!
更新成功!
//执行完数据更新操作后需要关闭数据库节省资源
//更新完以后调用刷新方法,将更新后的数据显示在datagridview上面
5:
查-查看记录
(查看当前所有记录)
//查看并刷新所有数据
privatevoidbtnView_Click(objectsender,EventArgse)
selectId,Movie_Name,Movie_Director,Date_ReleasedfromRecord"
DataTabledt=newDataTable();
SqlDataAdaptersda=newSqlDataAdapter(cmd);
sda.Fill(dt);
dgvManager.DataSource=dt;
6日志查看功能核心代码
//获取登陆成功后的用户ID
Uid=txtName.Text;
//获取当前登录时间
Time=DateTime.Now;
//获取当前用户登录的情况
Situation="
//说明在该账户下密码正确,系统登录成功
FrmMainmain=newFrmMain();
main.Show();
this.Hide();
参考文献
物联网射频识别技术〔RFID〕技术与应用人民邮电
《Programming.C#》
《VisualJ#》
致谢
本课程设计在永明教师的悉心指导下完成的。
教师渊博的专业知识、严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严于律己、宽以待人的崇高风,朴实无法、平易近人的人格魅力对本人影响深远。
不仅使本人树立了远大的学习目标、掌握了根本的研究方法,还使本人明白了许多为人处事的道理。
本次课程设计从选题到完成,每一步都是在教师的悉心指导下完成的,倾注了教师大量的心血。
在此,谨向教师表示崇高的敬意和衷心的感谢!
在写课程设计的过程中,遇到了很多的问题,在教师的耐心指导下,问题都得以解决。
所以在此,再次对教师道一声:
教师,谢谢您!