数据库课程设计报告Word格式文档下载.docx
《数据库课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告Word格式文档下载.docx(40页珍藏版)》请在冰豆网上搜索。
SqlConnectiondataConnection;
//数据库连接类
SqlCommanddataCommand;
//数据库命令类
SqlDataReaderdataReader;
//数据库读出类
StringuID;
//存放用户名的String类
StringuPassD;
//存放密码的String类
//构造函数
publicForm1()
InitializeComponent();
}
//关闭窗口
privatevoidbutton2_Click(objectsender,EventArgse)
dataConnection.Close();
this.Dispose();
//载入窗口时连接数据库,进展初始化
privatevoidForm1_Load(objectsender,EventArgse)
//连接数据库
try
dataConnection=newSqlConnection();
dataConnection.ConnectionString="
IntegratedSecurity=true;
InitialCatalog=mySQL;
"
+"
DataSource=wty-PC"
;
//dataConnection.Open();
//捕获异常
catch(SqlExceptionee)
MessageBox.Show(ee.Message);
//数据库类之间的互相绑定
finally
dataCommand=newSqlCommand();
dataCommand.Connection=dataConnection;
//进展身份验证,并登录
privatevoidbutton1_Click(objectsender,EventArgse)
uID=textBox1.Text;
uPassD=textBox2.Text;
dataConnection.Open();
if(uID=="
)
MessageBox.Show("
请输入用户名"
);
elseif(uID!
="
dataCommand.CommandText=("
SELECT*FROM用户WHERE用户名='
+uID+"
'
dataReader=dataCommand.ExecuteReader();
if(!
dataReader.Read())
没有此用户!
textBox1.Text="
textBox2.Text=null;
elseif(uPassD!
=dataReader.GetString
(1))
密码错误,请重新输入!
textBox2.Text="
else
if(radioButton2.Checked)
if(dataReader.GetString
(2)=="
读者"
你没有管理员权限!
dataReader.Close();
elseif(dataReader.GetString
(2)=="
管理员"
Form3frm3=newForm3(dataConnection,dataCommand,dataReader,uID);
this.Hide();
frm3.ShowDialog();
elseif(radioButton1.Checked)
Form2frm2=newForm2(dataConnection,dataCommand,dataReader,uID);
frm2.ShowDialog();
//按下ENTER键时,响应验证
privatevoidtextBox2_KeyDown(objectsender,KeyEventArgse)
if((int)e.KeyCode==13)
this.button1_Click(sender,e);
}
读者界面
读者信息,显示你当前的一些信息,包括可借数量和预约数量等,并包括修改密码功能。
查询,可以进展图书的查询,包括模糊查询和准确查询。
通过radiobuttun来判断。
模糊查询不支持ISBN的查询。
选中查询结果的行头,自动填充到借阅/预约界面
借阅/预约,这里的textbox都设置为readonly,主要是为了防止出现图书馆中没有的书进展借阅,这样可以节省查询的时间,并且通过查询界面可以很方便的填入这两项信息。
借阅和预约分别是计入相应的表内。
并可以查询
归还界面,同样,textbox设为readonly,通过查询借书或预约情况,选中行头来填入信息。
归还或取消预约好删除相应元组。
注销界面
注销是返回登录界面重新登陆
退出是退出程序。
publicpartialclassForm2:
//SqlDataReaderdataReader;
Int32ynum=0;
Int32lnum=0;
//在馆数量
Int32maxnum=0;
Int32dnum=0;
Int32ymaxnum=0;
Int32ydnum=0;
boolbflag=true;
boolyflag=false;
//StringbISBN;
//存放ISBN编号
//StringbName;
//存放书名
//Int32bNum;
//图书数量
//Int32lNum;
publicForm2()
//传递参数的构造函数
publicForm2(SqlConnectionconn,SqlCommandcomm,SqlDataReaderread,StringID)
dataConnection=newSqlConnection();
dataConnection=conn;
dataCommand=comm;
//dataReader=read;
uID=ID;
//注销,返回登录界面
Form1frm1=newForm1();
frm1.ShowDialog();
//退出系统
//清空所有textBox中的内容
privatevoidbutton4_Click(objectsender,EventArgse)
this.textBox1.Text="
this.textBox2.Text="
this.dataGridView1.DataSource=null;
//查询图书
privatevoidbutton3_Click(objectsender,EventArgse)
Stringbookname="
Stringbookisbn="
Stringbmark="
if(textBox1.Text!
bookisbn=("
ISBN编号='
+textBox1.Text+"
if((textBox2.Text!
="
)&
&
(textBox1.Text!
))
bookname=("
AND书名='
+textBox2.Text+"
elseif(textBox2.Text!
书名='
bmark=bookname+bookisbn;
//添加准确查询的代码
if(bmark!
dataCommand.CommandText="
SELECT*FROMbookWHERE"
+bmark;
elseif(bmark=="
)
请输入查询数据!
if(textBox1.Text!
不支持ISBN的模糊查询!
//添加模糊查询的代码
if(textBox2.Text!
书名like'
%"
%'
+bookname;
else//查询所有图书
SELECT*FROMbook"
请选择查询方式!
SqlDataReaderdataReader=dataCommand.ExecuteReader();
BindingSourcebs=newBindingSource();
bs.DataSource=dataReader;
this.dataGridView1.DataSource=bs;
if(dataReader.Read())
lnum=dataReader.GetInt32(3);
ynum=dataReader.GetInt32(6);
//借书
privatevoidbutton5_Click(objectsender,EventArgse)
Stringbookname="
Stringbookisbn="
SELECT*FROMborrowWHERE读者号='
SqlDataReadertempReader=dataCommand.ExecuteReader();
if((textBox3.Text!
(textBox4.Text!
bookisbn=textBox3.Text;
bookname=textBox4.Text;
boolflag=true;
if(tempReader.Read())
if(bookisbn==tempReader.GetString
(1))
你已经借了此书了!
flag=false;
tempReader.Close();
elseif(flag==true)
if(lnum==0)
在馆数量为零,不可借阅"
elseif(maxnum<
=dnum)
你的借书数量已满,无法再借!
SELECT*FROMborderWHERE读者号='
tempReader=dataCommand.ExecuteReader();
你已经预约此书了,该操作将会删除你的预约记录!
DELETEFROMborderWHEREISBN编号='
+bookisbn+"
dataCommand.ExecuteNonQuery();
INSERTINTOborrow(读者号,ISBN编号)VALUES('
'
)"
UPDATEbookSET在馆数量=在馆数量-1WHEREISBN编号='
UPDATEbookSET可预约数量=可预约数量+1WHEREISBN编号='
UPDATEreaderSET已借数量=已借数量+1WHERE读者号='
借阅成功!
dnum++;
textBox3.Text="
textBox4.Text="
//tempreader_1.Close();
}
SELECT*FROMBORROWWHERE读者号='
+uID+"
this.dataGridView2.DataSource=bs;
//将所选图书信息传递至借书模块
privatevoiddataGridView1_RowHeaderMouseClick(objectsender,DataGridViewCellMouseEventArgse)
ISBN编号"
].Value.ToString();
textBox4.Text=dataGridView1.Rows[data"
书名"
lnum=(int"
在馆数量"
].Value;
ynum=(int"
可预约数量"
//查询借书情况
privatevoidbutton7_Click(objectsender,EventArgse)
privatevoidbutton8_Click(objectsender,EventArgse)
this.dataGridView3.DataSource=bs;
bflag=true;
yflag=false;
//传递还书信息
privatevoiddataGridView3_RowHeaderMouseClick(objectsender,DataGridViewCellMouseEventArgse)
if(bflag==true&
yflag==false)
elseif(yflag==true&
bflag==false)
//还书
privatevoidbutton9_Click(objectsender,EventArgse)
Stringbookisbn;
bookisbn=textBox5.Text;
if(bookisbn!
DELETEFROMborrowWHEREISBN编号='
UPDATEbookSET在馆数量=在馆数量+1WHEREISBN编号='
UPDATEbookSET可预约数量=可预约数量-1WHEREISBN编号='
UPDATEreaderSET已借数量=已借数量-1WHERE读者号='
textBox5.Text="
归还成功!
dnum--;
//预约
privatevoidbutton6_Click(objectsender,EventArgse)
String