通讯录.docx
- 文档编号:5750915
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:12
- 大小:234.46KB
通讯录.docx
《通讯录.docx》由会员分享,可在线阅读,更多相关《通讯录.docx(12页珍藏版)》请在冰豆网上搜索。
通讯录
实验报告
姓名:
张红学号:
082698日期:
2010-11-20
实验名称:
Windows应用程序设计成绩:
一、实验目的及要求
内容:
1.实验的目的及要求
实验目的
1)掌握Windows应用程序设计
2)掌握数据库编程
实验要求
开发环境:
VisualC#.NET和Access数据库
2.实验内容:
1)第一个模块实现电话簿的登录和修改密码的功能
2)第二个模块实现一个中介的作用,可以删除数据表中的全部内容
3)第三个模块利用DataGridView与数据库相连显示电话簿中的内容
4)第四个模块实现对电话号码信息的增加,删除,修改和查询的功能.
5)第五个模块浏览用户的详细信息,对用户的详细信息进行增加,删除,修改和查询.
6)第六个界面实现修改用户密码的功能.
二、实验环境
Windows2003操作系统,Visual2005,数据库管理系统
三、实验源程序及关键代码解释
1)需求:
编写一个Windows应用程序,完成电话号码信息的添加、修改、删除和查询功能,应用程序界面自行设计。
2)数据库结构:
数据库名:
shouji表名:
c,d
表结构:
d:
c:
3)功能描述:
通过Windows窗体,向其中添加特殊功能代码,可以实现登录,修改密码,删除电话簿中的全部内容,以及对电话号码信息的添加、修改、删除、和查询功能。
还可浏览详细信息,并对其进行添加,删除,修改,和查询的功能.
//数据库连接
SqlConnectionconn=
NewSqlConnection("Server=ZhangHong-PC;DataBase=shouji;uid=sa;pwd=zhanghong12345");
conn.Open();
//登录
privatevoidbutton2_Click(objectsender,EventArgse)
{
stringusername=txtUserName.Text;
stringpassword=txtPassword.Text;
SqlConnectionconn=newSqlConnection("Server=ZhangHong-PC;DataBase=shouji;uid=sa;pwd=zhanghong12345");
conn.Open();
SqlCommandcmd=conn.CreateCommand();
cmd.CommandText="select*fromdwhereusername=@UserName";
cmd.Parameters.AddWithValue("UserName",username);
SqlDataReaderreader=cmd.ExecuteReader();
if(reader.Read()==false)
{
MessageBox.Show("用户名不存在!
");
return;
}
stringrealPassword=reader.GetString
(1);
if(password==realPassword)
{
MessageBox.Show("登录成功");
Formf2=newForm2();
f2.Show();
}
else
{
MessageBox.Show("登录失败");
}
reader.Dispose();
cmd.Dispose();
conn.Dispose();
}
//修改用户密码
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringusername=textBox1.Text;
stringpassword=textBox2.Text;
stringn=textBox3.Text;
SqlConnectionconn=newSqlConnection("Server=ZhangHong-PC;DataBase=shouji;uid=sa;pwd=zhanghong12345");
conn.Open();
strings="";
SqlCommandCmd=newSqlCommand("selectpasswordfromdwhereusername=@username",conn);
Cmd.Parameters.AddWithValue("@username",username);
Cmd.Parameters.AddWithValue("@password",password);
SqlDataReaderreader=Cmd.ExecuteReader();
reader.Read();
s=reader.GetString(0);//?
reader.Close();
boolc=String.Equals(s,password);//s是数据库中的,password是新输入的
if(!
c)
{
MessageBox.Show("您的原密码错误!
不能继续修改密码");
}
else
{
SqlCommandCmd1=newSqlCommand("Updatedsetpassword=@nwherepassword=@s",conn);
Cmd1.Parameters.AddWithValue("@s",s);
Cmd1.Parameters.AddWithValue("@n",n);
SqlDataReaderreader1=Cmd1.ExecuteReader();
while(reader1.Read())
{
n=reader1.GetString(0);//?
}
//stringd="updateClientsetpassword=nwherepassword=s";
MessageBox.Show("修改成功");
}
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
conn.Close();
this.Close();
}
//删除全部姓名
privatevoidbutton3_Click(objectsender,EventArgse)
{
SqlConnectionconn=newSqlConnection("Server=ZhangHong-PC;DataBase=shouji;uid=sa;pwd=zhanghong12345");
conn.Open();
SqlCommandcmd=newSqlCommand("Deletec",conn);
cmd.ExecuteNonQuery();
conn.Close();
}
//添加
publicvoidinsert(stringname,stringmobilephone)
{
SqlConnectionconn=newSqlConnection("Server=ZhangHong-PC;DataBase=shouji;uid=sa;pwd=zhanghong12345");
conn.Open();
SqlCommandcheckCmd=conn.CreateCommand();
checkCmd.CommandText="select*fromcwherename=@name";
checkCmd.Parameters.AddWithValue("name",name);
SqlDataReadercheckReader=checkCmd.ExecuteReader();
if(checkReader.Read())
{
checkReader.Dispose();
checkCmd.Dispose();
MessageBox.Show("用户名已经存在");
return;
}
else
{
checkReader.Dispose();
SqlCommandcmd=newSqlCommand("Insertc(name,mobilephone)values(@name,@mobilephone)",conn);
cmd.Parameters.AddWithValue("@name",name);
cmd.Parameters.AddWithValue("@mobilephone",mobilephone);
cmd.ExecuteNonQuery();
conn.Close();
}
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
insert(textBox1.Text,textBox2.Text);
MessageBox.Show("添加成功!
");
textBox1.Clear();
textBox2.Clear();
}
//删除
ublicvoiddelete(stringname)
{
SqlConnectionconn=newSqlConnection("Server=ZhangHong-PC;DataBase=shouji;uid=sa;pwd=zhanghong12345");
conn.Open();
SqlCommandcmd=newSqlCommand("Deletecwherename=@name",conn);
cmd.Parameters.AddWithValue("@name",name);
cmd.ExecuteNonQuery();
conn.Close();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
delete(textBox1.Text);
MessageBox.Show("删除成功!
");
textBox1.Clear();
textBox2.Clear();
}
//查询
privatevoidbutton3_Click(objectsender,EventArgse)
{
stringname=textBox1.Text;
SqlConnectionconn=newSqlConnection("Server=ZhangHong-PC;DataBase=shouji;uid=sa;pwd=zhanghong12345");
conn.Open();
SqlCommandcheckCmd=conn.CreateCommand();
checkCmd.CommandText="select*fromcwherename=@name";
checkCmd.Parameters.AddWithValue("name",name);
SqlDataReadercheckReader=checkCmd.ExecuteReader();
if(!
checkReader.Read())
{
checkReader.Dispose();
checkCmd.Dispose();
MessageBox.Show("用户名不存在");
return;
}
else
{
checkReader.Dispose();
SqlCommandcmd=conn.CreateCommand();
cmd.Parameters.AddWithValue("@name",name);
cmd.CommandText="Select*fromcwherename=@name";
SqlDataReaderreader=cmd.ExecuteReader();
while(reader.Read())
{
textBox2.Text=reader.GetString
(2);
}
reader.Close();
cmd.Dispose();
conn.Close();
}
}
//详细信息
privatevoidbutton4_Click(objectsender,EventArgse)
{
if(textBox1.Text=="")
{
MessageBox.Show("此处不可为空!
");
}
else
{
Form5f5=newForm5();
f5.Show();
f5.textBox1.Text=textBox1.Text;
stringname=f5.textBox1.Text;
SqlConnectionconn=newSqlConnection("Server=ZhangHong-PC;DataBase=shouji;uid=sa;pwd=zhanghong12345");
conn.Open();
SqlCommandcmd=conn.CreateCommand();
cmd.Parameters.AddWithValue("@name",name);
cmd.CommandText="Select*fromcwherename=@name";
SqlDataReaderreader=cmd.ExecuteReader();
while(reader.Read())
{
f5.textBox2.Text=reader.GetString
(2);//详细信息的界面为f5
f5.textBox3.Text=reader.GetString(3);
f5.textBox4.Text=reader.GetString(4);
f5.textBox5.Text=reader.GetString(6);
boBox1.Text=reader.GetString(5);
f5.textBox7.Text=reader.GetString(7);
boBox2.Text=reader.GetString(0);
}
reader.Close();
cmd.Dispose();
conn.Close();
}
}
对详细信息进行的添加,删除,修改,查询功能与上的代码类似
四、实验调试过程及运行结果
五、实验总结:
对上机实践结果进行分析,问题回答,上机的心得体会及改进意见。
通过这个实验,我学会了C#和数据库的连接,和对sql语句的运用,熟练的掌握了编程中的一些常用的控件,其中还出现了一些问题,例如:
reader的关闭问题,一个Form上的信息显示在另一个Form上,DataGridView与数据库中的内容进行绑定等等,还学会了添加,删除,查询等基本语句.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录