数据库应用课程设计Word文档格式.docx
- 文档编号:21973714
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:27
- 大小:379.55KB
数据库应用课程设计Word文档格式.docx
《数据库应用课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库应用课程设计Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
管理员操作模块的功能包括:
(1)添加,添加管理员,并设置管理类别。
(2)删除,删除已有的管理员。
(3)修改,修改管理员的资料,包括用户名,密码,类别。
(4)显示,使用几个按钮在文本框中显示用户。
此外,本系统还应包括一个登录模块和用户表连接。
2概要设计
2.1数据库中的表。
(1)BooK表,用来存储书籍信息。
其实体型为:
Book(BookName,BookNum,BookType,BookPub,BookBro);
其中,BookNum(书号)为主键,其余的分别是BookName(书名),BookNum(书类),BookPub(出版社),BooKBro(是否借出)。
以下是Book表在数据库中的定义,包括各属性的数据类型和长度等。
表2-1Book表
列名
数据类型
长度
允许空
主键
BookName
Nvarchar
50
否
是
BookNum
Int
4
BookType
BookPub
BookBro
(2)BookBro表,用来存储出借书籍数据,其实体型为:
BookBro(BookName,BroName,BroNum,PhoneNum,BookNum);
其中,BroNum(出借号)为主键,BookName(书名),BookNum(书号),,BroName(出借人),PhoneNum(出借人电话号码)。
以下是BookBro表在数据库中的定义。
表2-2,BookBro表
BroNum
PhoneNum
BroName
(3)User表,用来存储用户信息,其实体型为:
User(UserID,UserPassword,UserSort);
其中UserID(用户名)为主键,UserPassword(用户密码),UserSort(用户类型)
以下是User表在数据库中的定义。
表3-3,User表
UserID
Char
10
UserPassword
UserSort
2.2程序流程图和各模块功能分布:
图2-1,程序流程图和各功能分部图
图2-2,E-R图
3运行环境
软件:
WindowsXP操作系统。
硬件:
微机,CPUP42.8HZ。
1G内存,80G硬盘和128M显卡。
4开发工具和编程语言
开发工具:
visual,SQL2005。
编程语言:
面向数据库C#语言。
5详细设计
(1)登录界面设计:
图5-1,登录界面
登录界面实现代码:
namespacelibrary.cs
{
publicpartialclassLoginForm:
Form
{
publicLoginForm()
InitializeComponent();
//窗体代码设计必备
}
publicvoidErrorHandle(System.ExceptionE)
MessageBox.Show(E.ToString());
//调用异常处理
}
privatevoidbutton2_Click(objectsender,EventArgse)
this.textUserID.Text="
"
;
this.textUserPassword.Text="
//清空
privatevoidbutton1_Click(objectsender,EventArgse)
if(UserCheck(this.textUserID.Text,this.textUserPassword.Text)=="
system"
)//调用检测函数并识别
{
this.Visible=false;
Formmainform=newMainForm();
//调用主窗体
mainform.ShowDialog();
//调用显示函数
this.Close();
//关掉正在打开的界面
}
elseif(UserCheck(this.textUserID.Text,this.textUserPassword.Text)=="
user"
)
else
if(MessageBox.Show("
输入用户密码有误,是否重新登陆"
"
输入有误"
MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)//输入错误,调用窗体并提示错误
{
this.textUserID.Clear();
this.textUserPassword.Clear();
}
else
this.Close();
stringUserCheck(stringusername,stringuserpassword)//判断
stringtxtSql,usersort;
usersort="
nobody"
txtSql="
SELECT*FROM[user]"
SqlCommandcheckuser=newSqlCommand(txtSql,this.sqlConnection1);
try
this.sqlConnection1.Open();
//打开数据库链接
SqlDataReadersqlreader=checkuser.ExecuteReader();
while(sqlreader.Read())
if((sqlreader[0].ToString().Trim()==username)&
&
(sqlreader[1].ToString().Trim()==userpassword))
//输入数据与数据库中的数据进行比较判断
usersort=sqlreader[2].ToString().Trim();
break;
catch(Exceptione)
MessageBox.Show(e.ToString());
sqlConnection1.Close();
returnusersort;
(2)主控制窗体界面:
图5-2,主控制窗体
主控制窗体代码:
publicpartialclassMainForm:
publicMainForm()
privatevoidbutton4_Click(objectsender,EventArgse)
this.Close();
//退出系统
privatevoidbutton3_Click(objectsender,EventArgse)
this.Visible=false;
Formmainform=newUser();
mainform.ShowDialog();
//打开管理员管理模块
FormXinshu=newxinshu();
Xinshu.ShowDialog();
//打开书籍综合管理模块
}
(3)书籍综合管理模块窗体设计:
图5-3,综合功能窗口
图5-4,出借查询窗口
书籍综合管理模块代码实现:
namespacelibrary.cs
publicpartialclassxinshu:
publicxinshu()
privatevoidbtnClear_Click(objectsender,EventArgse)
this.textName.Text="
//清空
this.textNum.Text="
privatevoidbtnBack_Click(objectsender,EventArgse)
Formmainform=newMainForm();
//返回主窗体
privatevoidbtnAdd_Click(objectsender,EventArgse)
{//添加新数据进入Book表
SqlConnectioncon=newSqlConnection("
server=(local);
uid=sa;
pwd=123;
database=shuku"
);
con.Open();
SqlCommandcmd=newSqlCommand("
insertintobookvalues('
+textName.Text.Trim()+"
'
'
+textNum.Text.Trim()+"
+textType.Text.Trim()+"
+textPub.Text.Trim()+"
+textBro.Text.Trim()+"
)"
con);
cmd.ExecuteNonQuery();
MessageBox.Show("
成功入库!
printf();
//新数据入库后刷新
privatevoidxinshu_Load(objectsender,EventArgse)
privatevoidprintf()//显示函数
this.sqlDataAdapter1.Fill(this.dataSetBook);
this.dataGrid1.DataSource=this.dataSetBook.Tables[0].DefaultView;
privatevoidbtnCheck_Click(objectsender,EventArgse)
{//查询按钮功能实现
SqlConnectionconn=newSqlConnection("
database=shuku;
Trusted_Connection=yes;
SqlCommandcom=newSqlCommand();
conn.Open();
com.Connection=conn;
com.CommandType=CommandType.Text;
if(textName2.Text!
=null)
com.Parameters.Add("
@书号"
SqlDbType.Int);
com.Parameters["
].Value=textName2.Text;
//取在文本框中输入的数据值
com.CommandText="
select*frombookwhereBookNum=@书号"
//对比
DataSetdataSet2=newDataSet();
SqlDataAdapterqlcom2=newSqlDataAdapter(com);
qlcom2.Fill(dataSet2,"
stu1"
dataGrid2.DataSource=
dataSet2.Tables["
].DefaultView;
//把查询结果放入第二DataGrid
conn.Close();
//关闭连接
privatevoidbtnClear2_Click(objectsender,EventArgse)
this.textName2.Text="
privatevoidbtnDelete_Click(objectsender,EventArgse)
{//删除界面代码
//取输入值
deletefrombookwhereBookNum=@书号"
//删除关键字相同的键值
com.ExecuteNonQuery();
删除成功!
com.CommandText=("
select*frombook"
SqlDataAdapterAdapter=newSqlDataAdapter(com);
DataTablede=newDataTable();
Adapter.Fill(de);
this.dataGrid1.DataSource=de;
//显示结果在显示窗体1
privatevoidbtncount_Click(objectsender,EventArgse)
{//统计按钮功能实现
intdatarows;
//打开数据库
//SQL命令集
selectBookNamefromBook"
SqlDataAdapterdapter=newSqlDataAdapter(com);
//适配器
DataSetcon=newDataSet();
//容器
datarows=sqlDataAdapter1.Fill(con);
总共有"
+datarows.ToString()+"
本书"
privatevoidbtnBro_Click(objectsender,EventArgse)
{//打开出借查询界面
Formformbro=newFormBro();
formbro.ShowDialog();
出借查询代码实现
privatevoidbutOK_Click(objectsender,EventArgse)
{//通过出借号查询并显示
//打开数据库链接
@借出号"
].Value=BroNum.Text;
select*frombookbrowhereBroNum=@借出号"
dataGrid1.DataSource=dataSet2.Tables["
this.BroNum.Text="
{//返回上一级窗体
Formxinshu=newxinshu();
xinshu.ShowDialog();
{//显示所有出借的书籍
select*frombookbro"
(5)管理员管理模块界面:
图5-5,管理员管理模块界面
代码实现(在这个模块中手动设置数据连接,用到了VS.net数据库连接控件):
‘上一个’代码:
privatevoidbtnPrevious_Click(objectsender,System.EventArgse)
this.BindingContext[this.objDataSetUser1,
].Position-=1;
//指针减一
this.ButtonPositonChange();
this.DatasetPostionChange();
‘表头’代码:
privatevoidbtnFirst_Click(objectsender,System.EventArgse)
this.BindingContext[this.objDataSetUser1,"
].Position=0;
//回到数据集中表头的地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用 课程设计