ADONET数据库访问技术的应用实验报告
实验11:使用ADO·Net编程实现数据库应用程序

第十一周实验使用编程实现数据库应用程序(2)——“连接式”数据库访问一.实验目的1.了解主要对象的使用方法。
2.掌握的“连接式”数据库访问模式和程序流程。
3.掌握使用的类和对象以编程方式在动态生成Web窗体时实现数据库访问。
二.实验环境●Microsoft Visual Studio 2010●BookStore数据库三.实验内容说明:标记为▲的是必做题目,其他为选作题目。
4.完成图书订购信息的统计。
具体要求是:给定书号查询该图书的名称、该图书的销量总量以及购买了该图书的订单数。
页面设计及运行效果如图2.43所示。
(a)页面设计(b)页面运行效果图2.43页面运行效果提示:本题练习使用SqlCommand实现“连接式”数据访问。
在本题中,请使用ExecuteReader()执行SQL语句获取数据集“书号”填充DropDownList1;采用ExecuteReader()执行存储过程获得包括书名和销售总量的单行数据;采用ExecScalar()执行存储过程获得单一数值订单数。
5▲.采用SqlCommand的ExecuteNonQuery()实现第3题的数据维护功能,并通过窗体底部标签显示操作状态的提示信息。
页面设计及运行效果如图2.44所示。
(a)页面设计(b)页面运行选择记录效果(c)页面运行修改记录效果图2.44页面运行效果提示:本题练习使用SqlCommand的ExecuteNonQuery()方法实现添加、修改、删除等数据更新操作,并且利用客户端返回受影响的记录行数进行操作是否成功的提示。
6▲.利用SqlCommand的ExecuteNonQuery()实现客户评价类别信息的统计。
要求给定客户等级查询该等级人数,占总人数的比例(如图2.45)。
(a)页面设计(b)页面运行效果图2.45页面运行效果提示:本题练习使用SqlCommand的ExecuteNonQuery()方法通过存储过程的OUTPUT参数返回结果实现数据统计功能。
实验10:使用ADO·Net编程实现数据库应用程序

1第十周实验使用 编程实现数据库应用程序(1)——“断开式”数据库访问一.实验目的1.了解 主要对象的使用方法。
2.掌握 的“断开式”数据库访问模式和程序流程。
3.掌握使用 的类和对象以编程方式在动态生成Web 窗体时实现数据库访问。
二.实验环境● Microsoft Visual Studio 2010● BookStore 数据库三.实验内容说明: 标记为▲的是必做题目,其他为选作题目。
1▲.使用 对象编写程序,实现访问BookStore 数据库的Web 应用程序,使用GridView 显示Customer 表的信息。
页面运行效果如图2.40所示。
图2.40页面运行效果提示:① 本题练习利用“断开式”数据访问模式查询数据库,将数据集提取到客户端的DataSet ,然后利用界面控件GridView 显示。
本题使用到的 对象包括:SqlConnection 、SqlCommand 、SqlDataAdapter 、DataSet 。
② 新建Web.Config 文件,添加连接字符串“BookStoreConnectionString"。
<connectionStrings><add name="BookStoreConnectionString" connectionString="Data Source=.;Initial Catalog=BookStore; Integrated Security=SSPI" providerName="System.Data.SqlClient"/></connectionStrings>③ 注意要在.cs 文件中添加对SqlClient 命名空间的引用:using System.Data.SqlClient;2▲.创建一个Web 应用程序,程序启动时自动在DropDownList 显示图书类别列表;选择类别后点击“查看销量”按钮在GridView 中显示该类别图书中各本书的销售量;点击“平2 均销量”按钮计算该类图书的平均销量;点击“总销量”按钮调用存储过程查询该类图书的总销量。
实验:数据库的连接与访问

实验一数据库的连接与访问(分两次实验完成)实验目的:1)掌握的常用对象2)掌握常用的程序编写方法3)能够实现简单的查询和数据更新功能注意:注意查看红色字体部分内容。
是.NET Framework中的一系列类库,提供了在.NET开发中数据库所需的操作的类。
在.NET应用程序开发中,C#可以使用。
可以将看做是一个介于数据源和数据使用者之间的转换器,如图1所示。
接收使用者语言中的命令,如连接数据库、返回数据集等,然后将这些命令转换成可以在数据源中正确执行的语句。
图1 的功能示意图一、 命名空间及其常用类体系结构的类包含在System.Data命名空间中(命名空间相当于一个容器,它包含一组定义的类或结构,命名空间也可以嵌套在另一个命名空间中。
.NET类库提供了很多类,根据类的功能不同,又划分了很多命名空间,而这些命名空间大多数有一个顶级的命名空间System。
其中System.Data命名空间提供对表示结构的类的访问),根据功能划分,System.Data又包含了多个子空间。
System.Data命名空间及其子空间所包含的常用类如表1所示。
表1 System.Data命名空间及其子空间的常用类二、数据库访问实验内容:一、设计如下图所示窗体图2 学生注册信息管理的窗体设计建立上述窗体的过程如下:(1)启动Visual Studio 2008,然后文件->新建项目,弹出如图3所示的对话框。
图3 新建项目对话框在新建项目对话框中,选择左侧的项目类型为“Visual C# --Windows”,右侧的模板中选择“Windows 窗体应用程序”,下面输入项目的名称例如studentmis,并设置好存储路径,然后点击确定,生成如图4所示的Form1窗体。
图4 Form1窗体然后在工具箱(如果工具箱未显示,则需要点击视图->工具箱)中,分别从“数据”、“容器”、“公共组件”工具箱中拖放DataGridView控件、Pannel控件、Lable控件、Combox 控件、TextBox控件、Button控件到该窗体中,并修改相应的Name属性。
实验四 ADONET数据访问技术

实验四 数据访问技术一、实验名称数据访问技术二、实验目的1、了解与有关的命名空间。
2、掌握使用Connection对象连接服务器上数据库的方法。
3、掌握使用Command对象执行数据库访问命令的方法。
4、掌握DataReader对象和DataAdapter对象的使用方法。
5、掌握DataSet对象的使用方法。
三、实验内容在SQL Server 2000数据库管理系统中建立名称为“jxgl”的数据库,在该数据库中建立一个名称为“student”的关系表,其结构如图4-1所示,完成下列题目:图4-1 “tudent”关系表的结构1、编程实现按所在系查询学生信息。
要求查询条件所在系从键盘上输入,编程中要求用到Connection对象、Command对象和DataReader对象。
2、编程实现向“student”关系表中插入一条学生记录,并显示插入后“student”关系表中所有记录。
要求学生记录从键盘上输入,编程中要求用到Connection对象、DataAdapter对象和DataSet 对象。
四、编程提示1、连接SQL Server2000数据库要使用SqlConnection类的对象来完成,其代码如下。
SqlConnection conn = new SqlConnection();conn.ConnectionString = "Password=123456;Persist Security Info=True;User ID=sa;InitialCatalog=jxgl;Data Source=JSJX"; //JSJX是SQL Server2000数据库服务器名。
conn.Open();2、利用Command对象和DataReader对象实现查询的主要代码如下。
SqlCommand comm = conn.CreateCommand();comm.Connection = conn;mandText = "select * from student where 所在系='"+StrSzx+"'"; // StrSzx存储要查询的系名SqlDataReader dr = comm.ExecuteReader();if (dr.HasRows){while (dr.Read())Console.WriteLine(dr[0]+" "+dr[1]+" "+dr[2]+" "+dr[3]+" "+dr[4]);}elseConsole.WriteLine("对不起,没有你要查询的记录!");3、利用DataAdapter对象和DataSet对象实现插入的主要代码如下。
数据库系统实验报告ADO连接数据库

图4-1 新建项目CREATE TABLE course (Cno char(4) NOT NULL,Cname char(40) DEFAULT NULL,Cpno char(4) DEFAULT NULL,Ccredit smallint DEFAULT NULL,PRIMARY KEY (Cno)) ;---- 转存表中的数据'course'--INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('1', '数据库', '5', 4);INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('2', '数学', NULL, 2);INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('3', '信息系统', '1', 4);INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('4', '操作系统', '6', 3);INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('5', '数据结构', '7', 4);INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUES ('6', '数据处理', NULL, 2);INSERT INTO course (Cno, Cname, Cpno, Ccredit) V ALUESINSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) V ALUES('200215123', '王敏', '女', 18, 'MA');INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) V ALUES('200215125', '张立', '男', 19, 'IS');INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) V ALUES('200215128', '陈冬', '男', 18, 'IS');---- 限制表'course'--ALTER TABLE courseADD CONSTRAINT course_ibfk_1 FOREIGN KEY (Cpno) REFERENCES course (Cno);---- 限制表'sc'--ALTER TABLE scADD CONSTRAINT sc_ibfk_1 FOREIGN KEY (Sno) REFERENCES student (Sno); ALTER TABLE scADD CONSTRAINT sc_ibfk_2 FOREIGN KEY (Cno) REFERENCES course (Cno);3.在应用程序AdoConnection类的InitInstance()函数中添加如下语句,初始化COM库AfxOleInit();首先找到源文件AdoConnection.cpp。
ADONET数据库操作技术实验报告

实验报告题目:数据库操作技术院系:计算机科学与工程学院【实验题目】数据库操作技术【实验目的】1.掌握服务器验证控件的使用。
2.掌握对象的使用方法。
3.初步熟悉数据绑定控件GridView控件的使用方法。
【实验内容】使用DataReader对象设计一个用户登陆身份验证页面,页面打开时用户输入了正确的用户名和密码后,程序根据用户级别跳转到不同的页面。
建立Microsoft SQL Sever数据库manager.mdb的设计,并在其中创建存放用户信息的Admin表。
表中user字段表示用户名,pwd字段表示密码,level 字段表示用户级别,0表示管理员,1表示普通用户(游客)。
程序设计步骤:(1)设计Web页面Web页面的设计并不复杂,使用列表的形式,将Label和TextBox嵌入其中,如图4-1所示。
图 4-1 Web页面的设计(2)设置对象属性此处需要注意的是,密码部分需要做密文处理,并且不可进行复制粘贴。
(3)编写事件代码页面设计完成后,需要对登录按钮编写相应的时间。
其中包括与数据库的连接,获取输入的用户名和密码,之后与数据库进行匹配,并将匹配的结果返回给用户,同时程序根据用户级别跳转到不同的页面。
程序运行结果如图4-2所示。
图 4-2 程序运行结果【实验代码】Default:<%@Page Language="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default" %><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"><div><table border="1"><tr><td colspan="2"style="text-align: center"><strong><span style="font-size: 14pt">登 录</span></strong></td></tr><tr><td style="width: 100px; text-align: center">用户名</td><td style="width: 100px"><asp:TextBox ID="txtUsername"runat="server"Width="146px"></asp:TextBox></td></tr><tr><td style="width: 100px; text-align: center">密 码</td><td style="width: 100px"><asp:TextBox ID="txtPassword"runat="server"TextMode="Password" Width="145px"></asp:TextBox></td></tr><tr><td style="width: 100px"> </td><td style="width: 100px"><asp:Button ID="btnLogin"runat="server"OnClick="btnLogin_Click" Text="登录"/></td></tr></table></div></form></body></html>using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.OleDb;public partial class_Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){this.Title = "Reader对象应用示例";txtUsername.Focus();}protected void btnLogin_Click(object sender, EventArgs e){OleDbConnection conn = new OleDbConnection();conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=" + Server.MapPath("App_Data/manager.mdb");conn.Open();string strSQL = "select * from Admin";OleDbCommand com = new OleDbCommand(strSQL, conn);OleDbDataReader dr = com.ExecuteReader();string strUsername="", strPassword="",strLevel="";while (dr.Read()){if (txtUsername.Text == dr["user"].ToString() && txtPassword.Text ==dr["pwd"].ToString()){strUsername = dr["user"].ToString();strPassword=dr["pwd"].ToString();strLevel = dr["level"].ToString();break;}}dr.Close();conn.Close();if (strUsername == ""){Response.Write("<script language=javascript>alert('用户名或密码错!');</script>");return;}if (strLevel == "0"){Session["pass"] = "admin";Response.Redirect("manager.aspx");}else{Session["pass"] = "guest";Response.Redirect("guest.aspx");}}}Guest:<%@Page Language="C#"AutoEventWireup="true"CodeFile="guest.aspx.cs"Inherits="guest"%><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"></form></body></html>using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class guest : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){this.Title = "游客页面";string strPass = (string)Session["pass"];if (strPass != "guest"){Response.Redirect("default.aspx");}Response.Write("这是游客页面");}}Manager:<%@Page Language="C#"AutoEventWireup="true"CodeFile="manager.aspx.cs" Inherits="manager" %><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"></form></body></html>using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class manager : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){this.Title = "管理页面";string strPass = (string)Session["pass"];if (strPass != "admin"){Response.Write("<script language=javascript>alert('请先登录!');</script>"); Response.Redirect("default.aspx");}Response.Write("这是管理员页面");}}【实验结果】【实验心得】通过本次实验,我的的掌握更加深入,我基本掌握的服务器控件的应用,也基本掌握了GridView控件,熟悉了如何设置这个控件的基本属性,同时也加强了对其他控件的掌握。
使用ADO_NET访问数据库

使用ADO_NET访问数据库连接对象(Connection)用于建立与数据库的连接。
使用时需要提供数据库的连接字符串,连接字符串包含了数据库的类型、服务器地址、用户名、密码等信息。
下面是一个连接字符串的示例:```Server=127.0.0.1;Database=myDatabase;UserID=myUsername;Password=myPassword;```可以使用 SqlConnection 类来创建连接对象,并通过 Open 方法打开连接,通过 Close 方法关闭连接。
连接对象还提供了一些其他的属性和方法,如 ConnectionString 属性用于设置连接字符串,State 属性用于获取连接的状态,等等。
数据读取器对象(DataReader)用于按顺序读取查询结果中的数据。
可以使用 SqlDataReader 类创建数据读取器。
在使用数据读取器读取数据时,需要使用 Read 方法获取下一条记录,并使用索引或列名访问具体的数据值。
读取完数据后需要调用 Close 方法关闭数据读取器。
首先,创建一个名为 Student 的数据库,包含一个名为 Students 的表,表中包含三个字段:ID、Name 和 Age。
```sqlCREATE DATABASE Student;USE Student;CREATE TABLE StudentsIDINTPRIMARYKEY,Name NVARCHAR(50),Age INT```然后,创建一个 C# 控制台应用程序,添加对System.Data.SqlClient 的引用。
```csharpusing System;using System.Data;using System.Data.SqlClient;namespace StudentManagementclass Programstatic void Main(string[] args)string connectionString ="Server=127.0.0.1;Database=Student;UserID=myUsername;Password=myPassword;";using (SqlConnection connection = new SqlConnection(connectionString))connection.Open(;//插入数据Console.WriteLine("插入数据成功");}//查询数据while (reader.Read()int id = reader.GetInt32(0);string name = reader.GetString(1);int age = reader.GetInt32(2);Console.WriteLine($"ID: {id}, Name: {name}, Age: {age}"); }}//更新数据Console.WriteLine("更新数据成功");}//删除数据Console.WriteLine("删除数据成功");}connection.Close(;}}}```编译运行该应用程序,将会得到以下输出:```插入数据成功ID: 1, Name: 张三, Age: 20更新数据成功删除数据成功```。
应用ADO NET访问数据库

应用访问数据库摘要:该文介绍了数据库开发的一般过程,针对面向对象程序设计的数据库访问技术。
数据库访问的各个对象及对象的属性、方法、及使用。
关键词:;数据库;属性;方法中图分类号:tp311.13 文献标识码:a 文章编号:1009-3044(2013)05-0963-02使用开发数据库访问程序一般过程是:创建connection 对象,连接数据库。
创建command对象执行sql命令;创建dataadapter对象,支持数据源和数据集之间的数据交换;创建dataset对象,将数据源中所取得的数据保存在内存之中,并对数据进行各种操作等过程。
假定现已使用microsoft access 2000建立了student.mdb数据库,数据库中建有一个如前表所示的数据表,数据表取名为studentbook,表中的字段名分别为num(学号)、name(姓名)、age (年龄)、sex(性别)和specialities(专业),现以该数据表为例,介绍如何应用编写访问数据库应用程序。
表1 学生信息表[学号\&姓名\&年龄\&性别\&专业\&99001\&王玲\&20\&女\&计算机\&99002\&张良\&21\&男\&机械\&99003\&李丽\&21\&女\&管理\&…\&…\&…\&…\&…\&]1 创建和使用connection对象如果要访问数据源中的数据,必须先与数据库建立连接,在中,可以使用两个类来创建connection对象:sqlconnection类:管理与sql server 7.0版或更高版本的连接,该类类位于 system.data.sqlclient命名空间。
oledbconnection:管理与可通过 ole db 访问的数据源的连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称网站设计与WEB编程实验名称数据库访问技术的应用一、实验目的
1.了解的结构,掌握控件的功能和应用方法。
2.灵活应用SQL语句对数据库或数据表进行操作。
3.掌握数据控件的功能和应用方法。
4.了解前台界面与后台数据库的关系,掌握通过前台对后台的操作方法。
二、实验设备
PC机一台。
三、实验内容
1.设计数据库表结构,编程实现数据的浏览、查询、录入、修改和删除功能。
四、实验要求
1.设计一个数据库,数据库中至少有一个学生数据表,(包含的数据库字段有学号、姓名、专业、班级、性别),选取合适的字段设置为主键,并手工在数据库表中添加若干条记录。
2.用多种方法建立前台界面与数据库的连接。
3.在后台编写代码将数据显示在GridView控件中。
4.设计数据查询界面,能根据班级、专业等字段查询数据记录。
5.选用合适的控件设计学生信息录入界面,后台代码编程实现数据表中记录的增加、修改和删除功能。
6.思考如果以学号作为主键,录入学号时,如何验证学号的唯一性?
7.思考为什么要将数据库连接字符串放在Web.config文件中?
8.完成实验报告。
五、实验内容
1.新建一个数据库stu,并设置主键
2.新建空白网页,添加sqldatasource控件,并设置数据源为之前新建的数据库,用sql身份验证,再加入gridview控件,设置数据源为sqldatasource1,启用分页选择等属性
3.网页运行结果
4.设计查询窗口
5.查询测试结果
查询窗口和显示窗口的代码
6.信息录入界面,使用detailsview控件与数据库关联
运行网页后的结果
单击新建后的新建界面
更新,删除和插入功能亦可通过单击相关按钮实现。
思考题,为什么要把数据库连接字符串放在Web.config里?
因为把字符串放进网站的config文件里,后边就可以直接以add name后的字符串引用,而不需要每次都写一遍,还可以对.config文件加密,起到保护数据库内容的作用。