实验报告: 通过ADO.NET访问数据库进行C/S结构的应用程序设计

需积分: 11 7 下载量 57 浏览量 更新于2024-01-18 收藏 2.57MB DOC 举报
《数据库原理与应用》实验报告 实验名称:C/S 结构的数据库编程实验 实验序号:2 实验日期:2020.12.7 实验人:一、实验目的 本次实验的目的是通过 ADO.NET 访问数据库,熟悉使用 ADO.NET 技术进行 C/S 结构的数据库应用程序的设计。通过 ADO.NET 接口对数据库进行操作。 二、实验任务 我们使用编程工具(VS2005 或以上版本)编写访问数据库的应用程序,编程设计良好的一个人机交互界面。接下来,我们列出实验一中的查询,将 SQL 语句嵌入 VS2005 中完成“实验一”中的 11 个语句的结果显示。当然,我们也可以选择其他编程工具进行开发。 三、关键程序代码与执行结果截图 在这个实验中,我们首先需要建立数据库连接。以下是建立连接的代码: ```csharp string ConStr = "Data Source=.;Initial Catalog=STDB;Integrated Security=True"; //连接字符串 SqlConnection conn = new SqlConnection(ConStr); conn.Open(); //打开数据库连接 ``` 接下来,我们需要编写 SQL 查询语句,并执行查询。以下是查询全体学生的学号、姓名和出生年份的代码: ```csharp SqlCommand cmd = new SqlCommand("SELECT 学号, 姓名, 出生年份 FROM 学生表", conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine("学号:{0},姓名:{1},出生年份:{2}", reader["学号"], reader["姓名"], reader["出生年份"]); } reader.Close(); ``` 以上是其中一个查询的代码片段,我们可以根据实验一中的其他查询语句,编写相应的代码,并将结果显示在界面上。 实验结果如下图所示: [截图] 通过以上代码和结果截图,我们可以看到,通过 ADO.NET 技术,我们成功地连接到数据库并执行了查询操作。通过编程工具的帮助,我们能够设计一个良好的人机交互界面,并将实验一中的查询结果显示出来。 总结 通过本次实验,我们学会了通过 ADO.NET 访问数据库,并熟悉了使用 ADO.NET 技术进行 C/S 结构的数据库应用程序的设计。我们通过编程工具编写了一个人机交互界面,成功地将实验一中的查询语句嵌入到程序中,并将查询结果显示出来。通过这个实验,我们巩固了对数据库知识的理解,并提升了对 ADO.NET 技术的使用能力。 在今后的学习和工作中,我们可以更加灵活地运用 ADO.NET 技术,编写数据库应用程序,提高数据处理的效率和准确性。同时,我们还可以选择其他编程工具进行开发,以满足不同的需求和环境。 通过不断地实践和学习,我们将进一步掌握数据库原理与应用,并能够灵活运用到实际的项目中。数据库技术在现代社会中发挥着重要的作用,学习和掌握数据库知识对我们的个人发展和就业前景都具有重要意义。希望我们能够不断地提升自己,成为数据库领域的专家和优秀的数据库应用程序员!
2009-12-13 上传
1,主界面 2查询功能 ‘ private void chaxun_Click(object sender, System.EventArgs e) { SqlConnection thisConnection=new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=李梦然07060021"); //表示到SQL Server的一个实例的连接 SqlCommand thisCommand=new SqlCommand("select * from student where sno='"+textBox1.Text+"'",thisConnection); SqlDataAdapter thisAdapter=new SqlDataAdapter(); thisAdapter.SelectCommand=thisCommand; DataSet thisDataSet=new DataSet(); thisConnection.Open(); thisAdapter.Fill(thisDataSet, "student"); //在运行时设置 dataGrid1的数据源和数据成员属性,即在dataGrid1中显示数据集中的数据 dataGrid1.SetDataBinding(thisDataSet,"student"); thisConnection.Close(); } 3浏览功能 private void liulan_Click(object sender, System.EventArgs e) { //用SqlConnection对象连接SQL Server数据库魏菊丽20086666 SqlConnection thisConnection=new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=李梦然07060021"); SqlDataAdapter thisAdapter=new SqlDataAdapter(); DataSet thisDataSet=new DataSet(); //创建并返回一个与SqlConnection相关联的SqlCommand 对象 SqlCommand thisCommand=thisConnection.CreateCommand(); thisCommand.CommandText="select * from student";//获取或设置要对数据源执行的SQL语句 thisAdapter.SelectCommand =thisCommand ;//获取一个SQL语句,用于在数据源中选择记录 thisConnection.Open();//打开本次设置的数据库连接 thisAdapter.Fill(thisDataSet,"student");//将以上在数据源student中选择的记录的所有行填充到数据集中。 thisConnection.Close();//断开本次数据库连接 //在运行时设置 dataGrid1的数据源和数据成员属性,即在dataGrid1中显示数据集中的数据 dataGrid1.SetDataBinding(thisDataSet,"student"); } 4,插入一个新列 private void button1_Click(object sender, System.EventArgs e) { SqlConnection thisConnection=new SqlConnection("Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=李梦然07060021"); SqlDataAdapter thisAdapter=new SqlDataAdapter(); DataSet thisDataSet=new DataSet(); SqlCommand thisCommand=thisConnection.CreateCommand(); thisCommand.CommandText="select * from student "; thisAdapter.SelectCommand =thisCommand ; thisConnection.Open(); SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter); thisAdapter.Fill(thisDataSet, "student"); DataRow thisRow=thisDataSet.Tables["student"].NewRow();//在 数据集的student Table中创建新行 thisRow["sno"]="21";thisRow["sname"]="李梦然";thisRow["ssex"]="男";thisRow["thirthday"]="1987-7-31";thisRow["class"]="95001";//设置新行中的个字段值 thisDataSet.Tables["student"].Rows.Add(thisRow);//将新行添加到数据集的student Table中 thisAdapter.Update(thisDataSet,"student");// 修改数据库表 //以下显示添加后表中的数据 thisCommand.CommandText="select * from student "; thisAdapter.SelectCommand =thisCommand ; dataGrid1.SetDataBinding(thisDataSet,"student"); thisConnection.Close(); }