C#数据库操作实验报告.docx

上传人:b****2 文档编号:13999901 上传时间:2023-06-19 格式:DOCX 页数:14 大小:329.41KB
下载 相关 举报
C#数据库操作实验报告.docx_第1页
第1页 / 共14页
C#数据库操作实验报告.docx_第2页
第2页 / 共14页
C#数据库操作实验报告.docx_第3页
第3页 / 共14页
C#数据库操作实验报告.docx_第4页
第4页 / 共14页
C#数据库操作实验报告.docx_第5页
第5页 / 共14页
C#数据库操作实验报告.docx_第6页
第6页 / 共14页
C#数据库操作实验报告.docx_第7页
第7页 / 共14页
C#数据库操作实验报告.docx_第8页
第8页 / 共14页
C#数据库操作实验报告.docx_第9页
第9页 / 共14页
C#数据库操作实验报告.docx_第10页
第10页 / 共14页
C#数据库操作实验报告.docx_第11页
第11页 / 共14页
C#数据库操作实验报告.docx_第12页
第12页 / 共14页
C#数据库操作实验报告.docx_第13页
第13页 / 共14页
C#数据库操作实验报告.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C#数据库操作实验报告.docx

《C#数据库操作实验报告.docx》由会员分享,可在线阅读,更多相关《C#数据库操作实验报告.docx(14页珍藏版)》请在冰点文库上搜索。

C#数据库操作实验报告.docx

C#数据库操作实验报告

实验三数据库操作

一、实验目的和要求

掌握数据库编程编程技术

 

二、实验原理与预备知识

使用ADO.NET访问数据库技术:

一、使用Connection对象连接数据库;

二、使用Command对象执行查询或数据操纵命令;

DataReader对象用于从数据源中读取仅向前和只读的数据流。

三、还可以用DataAdapter对象与现有数据源交互,主要用于从数据源中获取数据、填充DataSet中的表并将对DataSet的更改提交回数据源。

 

三、实验环境

VisualStudio.Net集成开发环境

四、实验内容

1.通讯录维护窗体初始运行状态如下:

程序运行时显示第一条记录的信息,且各文本框的内容为只读,不允许修改;“确定”和“取消”按钮不可用。

要求完成以下功能:

(1)当单击“《”、“<”、“>”和“》”按钮时,分别浏览第一条记录、上一条记录、下一条记录和最后一条记录;

(2)当单击“添加”按钮后,“确定”和“取消”按钮可用,其他按钮不可用,且各文本框清空,并等待用户输入新的内容,输入完毕,单击“确定”后,将新的通讯记录添加到数据库,且“确定”和“取消”按钮不可用,其他按钮可用;

(3)当单击“修改”按钮后,“确定”和“取消”按钮可用,其他按钮不可用,可以在文本框中修改当前显示的记录内容,修改完毕,单击“确定”后,将修改后的内容更新到数据库,且恢复文本框的只读状态,“确定”和“取消”按钮不可用,其他按钮可用;

(4)当单击“删除”按钮后,弹出删除记录确认对话框,经确认后,可删除当前的记录。

2.学生成绩管理

用户管理模块可以查看该系统所有用户的用户名、密码和是否管理员信息,可以添加新的用户、修改现有用户信息、删除用户信息等,运行效果如图所示。

动态绑定DataGridView控件的代码:

privatevoidAdminMain_Load(objectsender,EventArgse)

{//窗体载入时动态绑定用户管理的数据

this.Text=username+"欢迎你!

";

conn.Open();

stringsqlStr="selectuser_idas编号,user_nameas用户名,passwordas密码,adminas是否管理员fromtb_user";

sda=newSqlDataAdapter(sqlStr,conn);

ds=newDataSet();

sda.Fill(ds,"tb_user");

dataGridView1.DataSource=ds.Tables["tb_user"];

conn.Close();

}

五、实验内容

通讯录源代码:

publicpartialclassaddressbook:

Form

{

privateBooleanadd_isclicked=false;

privateBooleanupdate_isclicked=false;

publicaddressbook()

{

InitializeComponent();

}

privatevoidbutton5_Click(objectsender,EventArgse)

{

enable();

button6.Enabled=false;

button7.Enabled=false;

button1.Enabled=false;

button2.Enabled=false;

button3.Enabled=false;

button4.Enabled=false;

BLL.options.Reset(this.Controls);

add_isclicked=true;

}

privatevoidaddressbook_Load(objectsender,EventArgse)

{

initial();

display_s();

}

publicvoiddisplay_s()

{

DataTabledataset=DataProvider.DataProvider.Display_addressbook();

textBox1.Text=dataset.Rows[0][1].ToString();

textBox2.Text=dataset.Rows[0][2].ToString();

textBox3.Text=dataset.Rows[0][3].ToString();

textBox4.Text=dataset.Rows[0][4].ToString();

textBox5.Text=dataset.Rows[0][5].ToString();

textBox6.Text=dataset.Rows[0][6].ToString();

textBox7.Text=dataset.Rows[0][7].ToString();

textBox8.Text=dataset.Rows[0][0].ToString();

}

publicvoiddisplay_en()

{

DataTabledataset=DataProvider.DataProvider.Display_end();

textBox1.Text=dataset.Rows[0][1].ToString();

textBox2.Text=dataset.Rows[0][2].ToString();

textBox3.Text=dataset.Rows[0][3].ToString();

textBox4.Text=dataset.Rows[0][4].ToString();

textBox5.Text=dataset.Rows[0][5].ToString();

textBox6.Text=dataset.Rows[0][6].ToString();

textBox7.Text=dataset.Rows[0][7].ToString();

textBox8.Text=dataset.Rows[0][0].ToString();

}

publicvoiddisplayById()

{

DataTabledataset=DataProvider.DataProvider.Display_Byid(textBox8.Text);

textBox1.Text=dataset.Rows[0][1].ToString();

textBox2.Text=dataset.Rows[0][2].ToString();

textBox3.Text=dataset.Rows[0][3].ToString();

textBox4.Text=dataset.Rows[0][4].ToString();

textBox5.Text=dataset.Rows[0][5].ToString();

textBox6.Text=dataset.Rows[0][6].ToString();

textBox7.Text=dataset.Rows[0][7].ToString();

textBox8.Text=dataset.Rows[0][0].ToString();

}

 

publicvoidinitial()

{

textBox1.ReadOnly=true;

textBox2.ReadOnly=true;

textBox3.ReadOnly=true;

textBox4.ReadOnly=true;

textBox5.ReadOnly=true;

textBox6.ReadOnly=true;

textBox7.ReadOnly=true;

button8.Enabled=false;

button9.Enabled=false;

}

publicvoidenable()

{

textBox1.ReadOnly=false;

textBox2.ReadOnly=false;

textBox3.ReadOnly=false;

textBox4.ReadOnly=false;

textBox5.ReadOnly=false;

textBox6.ReadOnly=false;

textBox7.ReadOnly=false;

button8.Enabled=true;

button9.Enabled=true;

}

privatevoidbutton8_Click(objectsender,EventArgse)

{

if(add_isclicked)

{

DataProvider.DataProvider.insert_into_addressbook(textBox1.Text,textBox2.Text,textBox3.Text,textBox4.Text,textBox5.Text,textBox6.Text,textBox7.Text);

button6.Enabled=true;

button7.Enabled=true;

button1.Enabled=true;

button2.Enabled=true;

button3.Enabled=true;

button4.Enabled=true;

initial();

add_isclicked=false;

display_en();

}

if(update_isclicked)

{

button5.Enabled=true;

button7.Enabled=true;

button1.Enabled=true;

button2.Enabled=true;

button3.Enabled=true;

button4.Enabled=true;

initial();

DataProvider.DataProvider.update_addressbook(textBox1.Text,textBox2.Text,textBox3.Text,textBox4.Text,textBox5.Text,textBox6.Text,textBox7.Text,textBox8.Text);

update_isclicked=false;

displayById();

}

}

privatevoidbutton7_Click(objectsender,EventArgse)

{

if(MessageBox.Show("确定删除吗?

","删除提示",MessageBoxButtons.OKCancel)==DialogResult.OK)

{

DataProvider.DataProvider.deletebyid(textBox1.Text);

display_s();

}

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

display_s();

}

privatevoidbutton6_Click(objectsender,EventArgse)

{

enable();

button5.Enabled=false;

button7.Enabled=false;

button1.Enabled=false;

button2.Enabled=false;

button3.Enabled=false;

button4.Enabled=false;

update_isclicked=true;

}

privatevoidbutton4_Click(objectsender,EventArgse)

{

display_en();

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

DataTabledataset=DataProvider.DataProvider.Display_previous(textBox8.Text);

if(dataset.Rows.Count<=0)

{

MessageBox.Show("已经是第一条了!

","提示");

}

else

{

textBox1.Text=dataset.Rows[0][1].ToString();

textBox2.Text=dataset.Rows[0][2].ToString();

textBox3.Text=dataset.Rows[0][3].ToString();

textBox4.Text=dataset.Rows[0][4].ToString();

textBox5.Text=dataset.Rows[0][5].ToString();

textBox6.Text=dataset.Rows[0][6].ToString();

textBox7.Text=dataset.Rows[0][7].ToString();

textBox8.Text=dataset.Rows[0][0].ToString();

}

}

privatevoidbutton3_Click(objectsender,EventArgse)

{

DataTabledataset=DataProvider.DataProvider.Display_next(textBox8.Text);

if(dataset.Rows.Count<=0)

{

MessageBox.Show("已经是最后一条了!

","提示");

}

else

{

textBox1.Text=dataset.Rows[0][1].ToString();

textBox2.Text=dataset.Rows[0][2].ToString();

textBox3.Text=dataset.Rows[0][3].ToString();

textBox4.Text=dataset.Rows[0][4].ToString();

textBox5.Text=dataset.Rows[0][5].ToString();

textBox6.Text=dataset.Rows[0][6].ToString();

textBox7.Text=dataset.Rows[0][7].ToString();

textBox8.Text=dataset.Rows[0][0].ToString();

}

}

privatevoidbutton9_Click(objectsender,EventArgse)

{

initial();

display_s();

button1.Enabled=true;

button2.Enabled=true;

button3.Enabled=true;

button4.Enabled=true;

button5.Enabled=true;

button6.Enabled=true;

button7.Enabled=true;

}

}

六、实验总结

本次实验我实现了简单通讯录的设计,在此次设计中我尝试了对代码进行了封装,这将会在开发大型项目时优势明显。

我新建了一个类项目,并新建了两个类,DataHelper.cs、DataProvider.cs,前者我对数据库连接封装了起来,向外提供几个增删查改的方法,方法的参数是sql语句和sql语句中的参数,后者中我定义了具体的sql语句,并调用前者中的方法,定义对表的增删查改方法,这样在界面类中就可以轻松的调用DataProvider.cs中的方法,而不用再写数据库连接语句,这样虽然代码量增加了,但是使的代码结构一目了然,有利于后期修改维护。

此次实验我深刻体会到了分层的好处,在以后还要加强体会。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2