旅行社管理系统实训C#解析.docx
《旅行社管理系统实训C#解析.docx》由会员分享,可在线阅读,更多相关《旅行社管理系统实训C#解析.docx(16页珍藏版)》请在冰豆网上搜索。
旅行社管理系统实训C#解析
C#程序设计实训报告
(2012~2013)学年第2学期)
姓名:
学号:
专业:
计算机科学与技术
班级:
计科1101
指导教师:
《C#程序设计》实训报告
日期
2013.7.1----2012.7.5
地点
67#206
项目名称
《旅行社管理系统》
实训目的能力目标
1、理解C#WinForm程序设计的风格,能设计合理的C#项目文件夹结构和公共类,注重代码的重用性,养成良好的标识符命名和代码编写习惯;
2、熟练掌握各种常见的控件属性和事件方法;
3、积累项目开发中常采用的设计模式和比较经典代码片段,并能在以后的项目开发中熟练地运用。
实训要求:
1、实训期间每天登记考勤,作为实训成绩的一部分。
2、实训期间不能玩游戏、看电影、小说等做与学习无关的事。
如果有不遵守的同学将取消当天成绩。
3、每天必须按照指导教师实训安排完成当天的实训项目,并经过老师的检查。
4、完成整个实训以后,要求每人写出实训报告。
5、实训报告要求有插图,模块关键代码及注释。
实训内容--《旅行社管理系统》(过程及步骤)
一、系统功能分析与设计
二、数据库设计
在电脑中找到access用access建立数据库
(1)操作员信息表(编号,姓名,密码,类别)
(2)景点信息表(编号,景点名称,地址,门票价格,简介,级别)
(3)用到连接access数据库知识
usingSystem.Data.OleDb;
stringstr="Provider=Microsoft.Jet.OLEDB.4.0;";
str+=@"access数据库地址";
OleDbConnectionmyConn=newOleDbConnection(str);
myConn.Open();
三、项目文件夹及公共类的设计
四、模块设计、编码与调试
1.登录模块:
1.1获取本地时间
privatevoidtimer1_Tick(objectsender,EventArgse)//添¬¨ª加¨®的Ì?
动¡¥态¬?
时º¡À钟¨®
{
this.toolStripStatusLabel1.Text=DateTime.Now.ToString();
}
privatevoidstatusStrip1_ItemClicked(objectsender,ToolStripItemClickedEventArgse)
{
this.statusStrip1.Text=System.DateTime.Now.ToString();
}
1.2设置背景音乐
publicstaticuintSND_ASYNC=0x0001;//playasynchronously
publicstaticuintSND_FILENAME=0x00020000;//nameisfilename
[DllImport("winmm.dll")]
publicstaticexternuintmciSendString(stringlpstrCommand,
stringlpstrReturnString,uintuReturnLength,uinthWndCallback);
privatevoidForm1_Load(objectsender,EventArgse)//添¬¨ª加¨®背À3景¡ã音°?
乐¤?
{
mciSendString(@"closetemp_alias",null,0,0);
mciSendString(@"open""郭¨´采¨¦洁¨¤-我¨°的Ì?
未¡ä来¤¡ä式º?
.mp3""aliastemp_alias",null,0,0);
mciSendString("playtemp_aliasrepeat",null,0,0);
}
1.2登录(此时需要连接数据库,从数据库中得到用户名和密码)
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringstr="Provider=Microsoft.Jet.OLEDB.4.0;";
str+=@"DataSource=liuhedongtravel.mdb";
OleDbConnectionmyConn=newOleDbConnection(str);
myConn.Open();
if(textBox1.Text!
=""&&textBox2.Text!
="")
{
stringsql="select*fromloginwhereuserName='"+textBox1.Text.Trim()+"'anduserPass='"+textBox2.Text.Trim()+"'";
adapter=newOleDbDataAdapter(sql,str);
OleDbCommandBuilderbuider=newOleDbCommandBuilder(adapter);
adapter.InsertCommand=buider.GetInsertCommand();
table.Clear();
adapter.Fill(table);
if(table.Rows.Count>0)
{
Form3f3=newForm3();
f3.Show();
}
}
else
{
MessageBox.Show("登Ì?
录?
失º¡ì败㨹");
}
}
登录密码为空或错误时显示
最后设计的界面为:
2、注册界面
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringstr=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=liuhedongtravel.mdb";
if(textBox1.Text.Trim()==""||textBox2.Text.Trim()==""||textBox3.Text.Trim()=="")
{
MessageBox.Show("请?
将?
信?
息¡é填¬?
写¡ä完ª¨º整?
!
ê?
");
}
else
{
if(textBox2.Text.Trim()!
=textBox3.Text.Trim())
{
MessageBox.Show("两¢?
次ä?
输º?
入¨?
的Ì?
密¨¹码?
不?
一°?
致?
!
ê?
");
}
else
{
OleDbConnectionmyConn=newOleDbConnection(str);
myConn.Open();
stringsqll="INSERTINTOlogin(userName,userPass)values('"+textBox1.Text+"','"+textBox2.Text+"')";
OleDbCommandcom=newOleDbCommand(sqll,myConn);
com.CommandText=sqll;
com.ExecuteNonQuery();
MessageBox.Show("注Á¡é册¨¢成¨¦功|!
ê?
点Ì?
击¡Â确¨¡¤定¡§,ê?
返¤¦Ì回?
登Ì?
录?
界?
面?
。
¡ê");
Form1f1=newForm1();
f1.Show();
this.Hide();
}
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Close();
}
*****如果密码输入错误*****
***如果输入正确***
3、旅行社管理系统主界面(注册成功,在登陆界面中登录)
4、景点信息管理系统
5、操作员管理系统
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringstr=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=liuhedongtravel.mdb";
OleDbConnectionmyConn=newOleDbConnection(str);
myConn.Open();
stringsqll="INSERTINTOlogin(userName,userPass)values('"+textBox1.Text.Trim()+"','"+textBox2.Text.Trim()+"')";
OleDbCommandcom=newOleDbCommand(sqll,myConn);
com.CommandText=sqll;
com.ExecuteNonQuery();
MessageBox.Show("添¬¨ª加¨®用®?
户¡ì成¨¦功|!
ê?
");
this.Hide();
Form9f99=newForm9();
f99.Show();
}
6、景点图片浏览
单击
景点图片浏览实现代码:
privatevoiddriveListBox1_SelectedIndexChanged(objectsender,EventArgse)
{
dirListBox1.Path=driveListBox1.Text;
}
privatevoiddirListBox1_Change(objectsender,EventArgse)
{
fileListBox1.Path=dirListBox1.Path;
}
privatevoidfileListBox1_SelectedIndexChanged(objectsender,EventArgse)
{
Strings;
if(fileListBox1.FileName!
=null)
{
s=dirListBox1.Path+"\\"+fileListBox1.FileName;
pictureBox1.Image=System.Drawing.Image.FromFile(s);
if((pictureBox1.Image.Width>pictureBox1.Size.Width))
button2.Enabled=true;
else
button2.Enabled=false;
}
}
privatevoidfileListBox1_PathChange(objectsender,EventArgse)
{
button2.Enabled=false;
pictureBox1.Image=null;
}
privatevoidradioButton1_CheckedChanged(objectsender,EventArgse)
{
if(fileListBox1.Pattern!
="*.gif")
{
fileListBox1_PathChange(sender,e);
fileListBox1.Pattern="*.gif";
}
}
privatevoidradioButton2_CheckedChanged(objectsender,EventArgse)
{
if(fileListBox1.Pattern!
="*.jpg")
{
fileListBox1_PathChange(sender,e);
fileListBox1.Pattern="*.jpg";
}
}
privatevoidradioButton3_CheckedChanged(objectsender,EventArgse)
{
if(fileListBox1.Pattern!
="*.bmp")
{
fileListBox1_PathChange(sender,e);
fileListBox1.Pattern="*.bmp";
}
}
privatevoidradioButton4_CheckedChanged(objectsender,EventArgse)
{
if(fileListBox1.Pattern!
="*.ico")
{
fileListBox1_PathChange(sender,e);
fileListBox1.Pattern="*.ico";
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Form11myform=newForm11();
Strings;
s=dirListBox1.Path+"\\"+fileListBox1.FileName;
myform.pictureBox1.Image=System.Drawing.Image.FromFile(s);
myform.Show();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
Application.Exit();
}
7、添加景点信息
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringstr=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=liuhedongtravel.mdb";
OleDbConnectionmyConn=newOleDbConnection(str);
myConn.Open();
stringsqll="INSERTINTOsportInfo(id,sportName,address,price,introduce,grade)values('"+textBox6.Text.Trim()+"','"+textBox1.Text.Trim()+"','"+textBox2.Text.Trim()+"','"+textBox3.Text.Trim()+"','"+textBox4.Text.Trim()+"','"+textBox5.Text.Trim()+"')";
OleDbCommandcom=newOleDbCommand(sqll,myConn);
com.CommandText=sqll;
com.ExecuteNonQuery();
MessageBox.Show("添¬¨ª加¨®用®?
户¡ì成¨¦功|!
ê?
");
Form6f6=newForm6();
f6.Show();
}
添加并单击添加,弹出景点信息
8、系统维护
9、其他
实训心得:
1、通过本次实训,使我对C#的图形界面更加认识和理解.
2、在开始做的时候对数据库连接不会使用,通过网络,让我对数据库连接有了深刻的认识和理解,一个标点不可马虎!
3、在浏览图片界面设计时遇到了不少麻烦,通过图书和网络最终还是解决了
4、在信息添加时,每个格式都是一定的,不可以马虎,当时在这用了好长时间,最终是标点和格式不对。
5,、通过本次实训,让我对编程有了更大的信心,我会加倍努力,努力让自己做到最好
分数:
教师签名:
年月日