中国旅游景点查询系统.docx
- 文档编号:30191505
- 上传时间:2023-08-06
- 格式:DOCX
- 页数:96
- 大小:5.88MB
中国旅游景点查询系统.docx
《中国旅游景点查询系统.docx》由会员分享,可在线阅读,更多相关《中国旅游景点查询系统.docx(96页珍藏版)》请在冰豆网上搜索。
中国旅游景点查询系统
同济大学
《数据库技术及应用》
实验报告
实验报告题目:
中国旅游景点查询系统
小组成员:
陈晶晶(042411),李珊(042121)
班级:
数据库(三)班
姓名:
李珊学号:
******
年级:
04级专业:
工程管理
*******
日期:
2007年年01月04日
一,项目设计背景及意义
众所周知,中国是一个旅游大国,九百六十万平方公里的广大土地以及不同的地貌特征造就了中国丰富的旅游资源,上下五千年的历史文化积淀也给中国赋予了博大精深的文化底蕴。
近年来,随着市场经济的进一步发展以及2008年北京奥运会的临近,中国的世界旅游大国地位已经势在必得。
为此,我们特开发了此套“中国旅游信息查询系统”,希望通过自己的探索,努力开发出一套合理可行、丰富高效且人性化程度高的查询系统,以便提供更丰富、更全面的旅游信息给游客。
我们希望,这套系统一方面可以促进全国旅游事业的进一步发展,另一方面也为人们展示出中国的博大精深和动人魅力,为中国全球化、外国友人进一步了解中国打下一定的基础。
二,数据库设计
E-R图,具体图形见下:
三,具体功能展示
一、启动窗体
ImportsSystem
ImportsSystem.Data
ImportsSystem.Data.SqlClient
PrivatedsDataSetAsNewDataSet
PrivatedaAdapterAsNewSqlDataAdapter
PrivatedvDataViewAsNewDataView
PrivateLogintype(3)AsString
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
Me.TextBox1.Focus()
Label3.Image=Image.FromFile(Application.StartupPath&"\数据库图片\景点图片\0001.jpg")
DimtAsInteger
Logintype
(1)="普通用户"
Logintype
(2)="数据库管理员"
Fort=1To2
ComboBox1.Items.Add(Logintype(t))
Next
TextBox2.PasswordChar="*"
ComboBox1.SelectedIndex=0
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimcnSQLServerAsNewSqlConnection("integratedsecurity=SSPI;datasource=33a6737336b14af;persistsecurityinfo=True;initialcatalog=mybeloved")
dsDataSet=NewDataSet
DimcmdSQLSERVERAsNewSqlCommand
Dimpara_SQLAsNewSqlParameter
WithcmdSQLSERVER
.Connection=cnSQLServer
.CommandType=CommandType.StoredProcedure
IfInt(ComboBox1.SelectedIndex)=0Then
.CommandText="login_proc;1"
ElseIfInt(ComboBox1.SelectedIndex)=1Then
.CommandText="login_proc;2"
EndIf
EndWith
Dimpara_nameAsSqlClient.SqlParameter=cmdSQLSERVER.Parameters.Add("@_name",System.Data.SqlDbType.Char,10)
para_name.Value=TextBox1.Text
Dimpara_pswAsSqlClient.SqlParameter=cmdSQLSERVER.Parameters.Add("@_psw",System.Data.SqlDbType.Char,15)
para_psw.Value=TextBox2.Text
para_SQL=cmdSQLSERVER.Parameters.Add("@_return",2)
para_SQL.Direction=ParameterDirection.ReturnValue
para_SQL.SqlDbType=SqlDbType.Int
DimdaAdapter2AsNewSqlDataAdapter(cmdSQLSERVER)
Try
daAdapter2.Fill(dsDataSet)
CatchosqlexceptionAsSqlException
MsgBox("TheFollowingSQLSERVERerroroccured:
"&osqlexception.Message)
End
Finally
EndTry
DimswitchAsInteger
IfcmdSQLSERVER.Parameters("@_return").Value=1Then
switch=MsgBox("用户名错误!
",MsgBoxStyle.OKOnly,"错误提示!
")
Ifswitch=MsgBoxResult.OKThen
TextBox1.Text=""
TextBox2.Text=""
TextBox1.Focus()
EndIf
EndIf
IfcmdSQLSERVER.Parameters("@_return").Value=2Then
switch=MsgBox("用户密码错误!
",MsgBoxStyle.OKOnly,"错误提示!
")
Ifswitch=MsgBoxResult.OKThen
TextBox2.Text=""
TextBox2.Focus()
EndIf
EndIf
IfcmdSQLSERVER.Parameters("@_return").Value=3Then
IfInt(ComboBox1.SelectedIndex)=0Then
Me.Hide()
frm6.Show()
frm6.TextBox1.Text=TextBox1.Text
frm6.TextBox2.Text=TextBox2.Text
TextBox1.Text=""
TextBox2.Text=""
DimjAsInteger
Forj=1To2
frm6.ComboBox1.Items.Add(Logintype(j))
Next
frm6.ComboBox1.SelectedIndex=ComboBox1.SelectedIndex
EndIf
IfInt(ComboBox1.SelectedIndex)=1Then
'公共变量Name,用来传递登陆用户的用户ID,在以后窗体切换时可以作为各个控件一次赋值的依据!
DimsqlDAsNewDataSet
DimStrAsString="selectidfromdbo.loginadminwherename='"+TextBox1.Text.Trim+"'"
DimsqlCAsNewSqlDataAdapter(Str,Myconn)
Try
sqlC.Fill(sqlD)
CatchexAsException
MsgBox("1")
End
EndTry
Id=sqlD.Tables("table").Rows(0).Item("id")
'公共变量Index,用来传递登陆用户的用户类型,在以后的船体切换中作为Combobox控件赋值的依据!
Index=ComboBox1.SelectedIndex
TextBox1.Text=""
TextBox2.Text=""
Me.Hide()
frm7.Show()
'frm7.ComboBox2.SelectedText=
EndIf
EndIf
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
End
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
frm9.Show()
Me.Hide()
EndSub
PrivateSubLinkLabel1_LinkClicked(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.LinkLabelLinkClickedEventArgs)HandlesLinkLabel1.LinkClicked
DimstrTemptAsString="请输入您的用户名!
@_@"
JayName=InputBox(strTempt)
IfJayName<>""Then
Me.Hide()
frm10.Show()
Else
ExitSub
EndIf
EndSub
EndClass
二、当点击“马上注册”后,直接进入注册窗体,代码和图如下:
InheritsSystem.Windows.Forms.Form
PrivateRegAdapterAsNewSqlDataAdapter
PrivateRegDataSetAsNewDataSet
PrivateDvDataViewAsNewDataView
PrivateJudgeAsInteger
PrivateJudge2AsInteger
PrivateSubForm9_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
frm9.BackgroundImage=Image.FromFile(Application.StartupPath&"\数据库图片\景点图片\0032.jpg")
Label8.Text="欢迎进入注册界面,请在以下输入必要信息!
@_@"
Judge=0
Judge2=1
WithRegAdapter
.SelectCommand=NewSqlCommand
With.SelectCommand
.Connection=Myconn
.CommandText="SELECTname,psw,realname,identitynum,questions,answersFromdbo.loginuser"
EndWith
.InsertCommand=NewSqlCommand
With.InsertCommand
.Connection=Myconn
.CommandText="Insertintodbo.loginuservalues(@_name,@_psw,@_realname,@_identitynum,@_question,@_answer)"
With.Parameters
.Add("@_name",SqlDbType.Char,12,"name")
.Add("@_psw",SqlDbType.Char,12,"psw")
.Add("@_realname",SqlDbType.Char,12,"realname")
.Add("@_identitynum",SqlDbType.Char,18,"identitynum")
.Add("@_question",SqlDbType.Char,50,"questions")
.Add("@_answer",SqlDbType.Char,50,"answers")
EndWith
EndWith
.MissingSchemaAction=MissingSchemaAction.AddWithKey
.AcceptChangesDuringFill=True
.TableMappings.Add("table","register")
EndWith
Try
RegAdapter.Fill(RegDataSet)
RegDataSet.Tables("table").TableName="register"
DvDataView.Table=RegDataSet.Tables("register")
CatchexAsException
MsgBox(ex.Message)
End
EndTry
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
TextBox1.Text=""
TextBox2.Text=""
TextBox3.Text=""
TextBox4.Text=""
TextBox5.Text=""
TextBox6.Text=""
TextBox7.Text=""
Me.Hide()
frm5.Show()
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
IfJudge2=1Then
MsgBox("您还没有输入完毕必要信息!
",MsgBoxStyle.OKOnly)
IfMsgBoxResult.OKThen
ExitSub
EndIf
EndIf
IfJudge2<>0Then
MsgBox("您输入的数据存在错误,具体请查看各个标签显示!
"&Judge2,MsgBoxStyle.OKOnly)
IfMsgBoxResult.OKThen
ExitSub
EndIf
EndIf
DimJayAsInteger
IfTextBox4.Text.Trim<>""Then
IfTextBox5.Text.Trim=""Then
Jay=MsgBox("在您输入提示问题之后,您必须输入问题的答案!
@_@",MsgBoxStyle.OKOnly)
IfJay=MsgBoxResult.OKThen
TextBox5.Text=""
TextBox5.Focus()
ExitSub
EndIf
EndIf
EndIf
DimiAsInteger
DimNewRowAsDataRow
NewRow=RegDataSet.Tables("register").NewRow()
NewRow("name")=TextBox1.Text.Trim
NewRow("psw")=TextBox2.Text.Trim
NewRow("realname")=TextBox6.Text.Trim
NewRow("identitynum")=TextBox7.Text.Trim
NewRow("questions")=TextBox4.Text.Trim
NewRow("answers")=TextBox5.Text.Trim
Try
RegDataSet.Tables("register").Rows.Add(NewRow)
RegAdapter.Update(RegDataSet.Tables("register"))
i=MsgBox("注册成功,系统将自动返回登陆界面",MsgBoxStyle.OKOnly)
Ifi=MsgBoxResult.OKThen
TextBox1.Text=""
TextBox2.Text=""
TextBox3.Text=""
TextBox4.Text=""
TextBox5.Text=""
TextBox6.Text=""
TextBox7.Text=""
Me.Hide()
frm5.Show()
EndIf
CatchexAsException
MsgBox(ex.Message)
EndTry
Try
RegAdapter.Update(RegDataSet.Tables("register"))
CatchexAsException
MsgBox(ex.Message)
EndTry
EndSub
PrivateSubTextBox1_TextChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTextBox1.TextChanged
DimStrNameAsString
StrName=TextBox1.Text.Trim.ToString
'IfRegDataSet.Tables("register").Rows.Count<1Then
'Label8.Text="恭喜您,这个用户名未被注册,且合理有效!
@_@"
'Label8.ForeColor=Color.Orange
'Judge=1
'EndIf
IfTextBox1.Text=""Then
ExitSub
EndIf
DimjAsInteger
Forj=0ToRegDataSet.Tables("register").Rows.Count-1
IfRegDataSet.Tables("register").Rows(0).Item("name").ToString.Trim=strnameThen
Label8.Text="对不起,您输入的用户名已经被注册过了!
@_@"
Label8.ForeColor=Color.Red
Judge=2
ExitSub
EndIf
Next
Label8.Text="恭喜您,这个用户名未被注册,且合理有效!
@_@"
Judge=1
Label8.ForeColor=Color.Orange
EndSub
PrivateSubTextBox1_LostFocus(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTextBox1.LostFocus
IfTrim(TextBox1.Text.Trim).Length<4Then
Label8.Text="您输入的登录名称过于简单,系统无法接受!
@_@"
Label8.ForeColor=Color.Red
Judge=0
TextBox1.Text=""
TextBox1.Focus()
ExitSub
EndIf
IfTextBox1.Text.Trim=""Then
Label8.Text="欢迎进入注册界面,请在以下输入必要信息!
@_@"
Judge=0
Label8.ForeColor=Color.Orange
IfJudge=0OrJudge=2Then
TextBox1.Text=""
TextBox1.Focus()
EndIf
EndIf
EndSub
PrivateSubTextBox2_LostFocus(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTextBox2.LostFocus
IfTextBox2.Text.Trim.Length>5Then
Label9.Text="恭喜您,您输入的密码合理有效!
@_@"
Else
TextBox2.Text=""
TextBox2.Focus()
EndIf
EndSub
PrivateSubTextBox3_LostFocus(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTextBox3.LostFocus
IfTextBox3.Text.Trim=TextBox2.Text.TrimAndTextBox3.Text<>""Then
Label10.Text="确认密码成功!
@_@"
Judge2=0
Label10.ForeColor=Color.Orange
Else
Label10.Text="您输入的确认密码有错误,请重新输入确认密码或重新输入密码!
"
Label10.ForeColor=Color.Red
Judge2=3
EndIf
EndSub
PrivateSubTextBox6_LostFocus(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTextBox6.LostFocus
If
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国旅游 景点 查询 系统