数据库访问技术复习提纲.docx

上传人:b****6 文档编号:6428476 上传时间:2023-01-06 格式:DOCX 页数:13 大小:65.36KB
下载 相关 举报
数据库访问技术复习提纲.docx_第1页
第1页 / 共13页
数据库访问技术复习提纲.docx_第2页
第2页 / 共13页
数据库访问技术复习提纲.docx_第3页
第3页 / 共13页
数据库访问技术复习提纲.docx_第4页
第4页 / 共13页
数据库访问技术复习提纲.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数据库访问技术复习提纲.docx

《数据库访问技术复习提纲.docx》由会员分享,可在线阅读,更多相关《数据库访问技术复习提纲.docx(13页珍藏版)》请在冰豆网上搜索。

数据库访问技术复习提纲.docx

数据库访问技术复习提纲

练习题:

1、在SQL语法中,用于插入数据的命令是__,用于更新数据的命令是___。

A

A.INSERT,UPDATEB.UPDATE,INSERT

C.DELETE,UPDATED.CREATE,UPDATE

2、情况__A____适合使用连接的体系结构。

A.供某证券公司营业部进行交易的软件

B.供长期出差的某企业领导了解该企业各种数据的软件

C.供学校了解学生学籍信息的软件

D.畜牧场对牲畜的数量进行跟踪的软件

3、以下4个连接将创建_2___连接池。

(连接池是肯定会考的。

看引号里面的是不是相同,相同就用同一个连接池)

连接1

SqlConnectionmyConnection=newSqlConnection();

myConnection.ConnectionString="UserID=sa;"+

"Password=wsedrftg;"+

"InitialCatalog=Students;"+

"DataSource=mySQLServer;"+

"ConnectionTimeOut=30;";

连接2

SqlConnectionmyConnection=newSqlConnection();

myConnection.ConnectionString="UserID=sa;"+

"Password=wsedrftg;"+

"InitialCatalog=Students;"+

"DataSource=mySQLServer;"+

"ConnectionTimeOut=30;";

连接3

SqlConnectionmyConnection=newSqlConnection();

myConnection.ConnectionString="UserID=sa;"+

"Password=wsedrftg;"+

"InitialCatalog=Teachers;"+

"DataSource=mySQLServer;"+

"ConnectionTimeOut=30;";

连接4

SqlConnectionmyConnection=newSqlConnection();

myConnection.ConnectionString="UserID=sa;"+

"Password=wsedrftg;"+

"InitialCatalog=Teachers;"+

"DataSource=mySQLServer;"+

"ConnectionTimeOut=30;";

4、下面关于连接字符串的常用参数的描述,正确的是_C____。

A.DataSource属性表示连接打开时所使用的数据库名称(服务器类型)

B.InitialCatalog属性表示数据库的类型(服务器的名字)

C.TrustedConnection参数决定连接是否使用信任连接

D.Provider属性用于设置或返回连接字符串(连接的是什么数据库,连接SQL就不用PROVIDER)

5、假设您准备开发一个应用程序,该应用程序使用SqlConnection对象连接到MicrosoftSQLServer数据库。

连接对象会被放入连接池中。

当连接池填满后,连接请求将排队。

某些连接请求会遭到拒绝。

需要确保应用程序尽快释放连接并退还给连接池。

另外,需要降低连接请求被拒绝的可能性。

应该执行的操作不包括_D___。

A.确保每个连接对象完成执行后,在该对象上调用Close()方法

B.增大连接字符串内的MaxPoolSize的值

C.增大SqlConnection对象的ConnectionTimeout属性值

D.改变StateChange状态

6、假设正在创建一个Windows窗体应用程序。

该应用程序使用名为cmd的SqlCommand对象,该cmd对象执行以下存储过程。

CREATEPROCEDUREGetPhoneListASBEGINSELECTCompanyName,PhoneFROMCustomersSELECTCompanyName,PhoneFROMSuppliersEND

需要将所有返回的行添加至名为lstPhones的ListBox控件,应该使用代码段__A___。

A、SqlDataReaderrdr=cmd.ExecuteReader();

do{

  while(rdr.Read()){

    lstPhones.Items.Add(rdr.GetString(0)+"\t"

     +rdr.GetString

(1));

  }

}while(rdr.NextResult());

B、SqlDataReaderrdr=cmd.ExecuteReader();

while(rdr.Read()){

  lstPhones.Items.Add(rdr.GetString(0)+"\t"

   +rdr.GetString

(1));

}

C、SqlDataReaderrdr=cmd.ExecuteReader();

while(rdr.NextResult()){

  while(rdr.Read()){

    lstPhones.Items.Add(rdr.GetString(0)+"\t"

     +rdr.GetString

(1));

  }

}

D、SqlDataReaderrdr=cmd.ExecuteReader();

while(rdr.NextResult()){

  lstPhones.Items.Add(rdr.GetString(0)+"\t"

   +rdr.GetString

(1));

}

7、多选题:

DataSet类在ADO.NET中的重要性体现在_ABCD____。

A.DataSet是数据表、关系和约束在内存中的高速缓存

B.可以从SQL查询、XML文档中转移DataSet

C.DataSet是多个DataTable对象的容器

D.在DataSet对象和XML文档之间移动数据将非常迅速

8、以下在DataTable中插入新记录的方法,不正确的是__C___。

方法一

DataRowdrNewStudent=dtStudents.NewRow();

drNewStudent[0]=12;

drNewStudent[1]="张三";

dtStudents.Rows.Add(drNewStudent);

方法二

DataRowdrNewStudent=dtStudents.NewRow();

drNewStudent["StudentID"]=12;

drNewStudent["LastName"]="张三";

dtStudents.Rows.Add(drNewStudent);

方法三

dtStudents.Rows.Add({12,"张三"});

方法四

dtStudents.Rows.Add(NewObject[]{12,"张三"})

9、非类型化DataSet和类型化DataSe之间的区别在于___A___。

非类型化DataSet通过索引或字符串访问数据表和列

类型化DataSet通过索引或字符串访问数据表和列

非类型化DataSet通过类型安全的属性访问数据表和列

类型化DataSet通过类型安全的属性访问数据表和列

类型化DataSet具有编译时的数据集架构信息

A.1、4、5B.2、3、5

C.1、4D.2、3

10、以下关于XSD架构的叙述,不正确的是___B__。

A.XSD架构是一个文档,它描述XML文档结构以及对于文档中数据的约束

B.XSD架构是一个文档,它描述DataSet结构及约束

C.使用XSD架构的基本原因之一是为了导入数据并确定该数据的结构

D.使用XSD架构的基本原因之一是描述要导出给另一个用户的数据的结构

11、以下关于DataAdapter对象的描述,_A_____是错误的。

A.DataAdapter对象可以用来检查查询结果

B.DataAdapter对象可以作为数据库和断开连接对象之间的网桥

C.DataAdapter对象可提取查询结果以便脱机时使用

D.DataAdapter对象可以把脱机使用时所做的更改提交到数据库中

12、多选题:

DataSet和DataAdapter之间的区别是___ABCD___。

A.DataSet在断开连接的缓存中存储数据

B.DataAdapter对象是DataSet和数据源之间检索或保存数据的桥梁

C.DataSet公开由表、行和列所组成的分层对象模型

D.DataAdapter类表示一组数据库命令以及可用做填充DataSet和更新数据源的数据库连接

13、为了将数据更改持久地保存到数据源,将按__C____顺序调用各种方法。

(1)调用Update()方法

(2)调用GetChanges()方法

(3)调用Merge()方法

(4)调用AcceptChanges()方法

A.

(1)

(2)(3)(4)B.(4)

(1)

(2)(3)

C.

(2)(3)

(1)(4)D.

(1)(3)(4)

(2)

14、下面关于DataTable和DataView的说法_D____是错误的。

A.一个DataTable表示内存中的关系数据的一个表

B.可以用现有的数据源来填充DataTable

C.DataView表示DataTable中数据子集的对象

D.可以使用DataView联结两个DataTable对象之间的数据

15、ADO.NET模型中的下列哪个对象属于非连接对象。

(D )

A.Connection

B.DataAdapter

C.DataReader

D.DataSet

16、在ADO.NET中使用XML支持时,以下哪个建议是不可取的。

(D )

A.从DataSet读取XML格式的数据

B.使用XML格式的数据填充DataSet

C.为DataSet创建XML格式的构架描述

D.将数据以XML格式保存在数据库中

17、下列哪个SQL语句属于DDL语句(A )

A.Create

B.Select(DML)

C.Grant(DCL)

D.Insert(DML)

18、数据集ds中两数据表(父表:

Customer;子表:

CartItems)之间有如下图外键约束。

父表Customers中有一行数据的CustomerID=100,子表CartItems中有20行数据的CustomerID=100。

若从父表中删除该行,则:

(C )

A.子表不发生任何变化

B.子表中20个相关行的CustomerID列的值变为DBNull

C.子表中20个相关行被删除(因为删除规则是CASCADE,所以要跟着删除)

D.引发Exception【如果没有说明能否进行删除,则默认的为:

None,即不允许删除】

19、Employee是SQLServer2000数据库中的一个数据表。

为执行以下的SQL语句从表中检索数据,应使用Command对象的(C)方法。

SQL语句:

Select*fromEmployee;

A.ExecuteScalar

B.ExecuteXMLReader

C.ExecuteReader

D.ExecuteNonQuery

20、某程序使用SQLServer.NET数据提供程序访问SQLServer数据库时出现

SQLException异常,该异常的sqlError集合某个SqlError的严重程度可由其(C)属性获得。

A.LineNumberB.MessageC.ClassD.Number

21、为了访问SQLServer2000数据库中的数据,最好使用以下那种.NET数据提供者连接到数据库(D)

A.ODBC.NET数据提供程序B.OLEDB.NET数据提供程序

C.XML.NET数据提供程序D.SQLServer.NET数据提供程序

 

22、DataAdapter对象使用与(D)属性相关联的Command对象从数据源查询数据

AUpdateCommand

BInsertCommand

CDeleteCommand

DSelectCommand

23、为了向数据源更新数据,应该调用(D)

A.DataSet.Update方法

B.DataSet.Fill方法

C.DataAdapter.Fill方法

D.DataAdapter.Update方法

24、为了向数据集填充数据,应该调用(A)

A.DataAdapter.Fill方法

B.DataAdapter.Update方法

C.DataSet.Update方法

D.DataSet.Fill方法

25、ADO.NET通过(D)对象的BeginTransaction方法创建新的事务对象.(重要)

ADataAdapter

BDataSet

CCommand

DConnection

26、开发人员用XML数据文档保存若干数据,请问这些数据应该属于以下哪个类型?

C

A:

无结构B:

有结构,不分等级C:

分等级D:

关系数据库

27、为了访问WEB服务,客户端可以使用(A)在WEB服务中查找可用的方法。

A、UDDIB、EMAILC、HTTPD、FTP

28、数据库中表Customers包含以下行

列名CustomerIDCustomerName

值100Tom

101Jerry

调用SqlCommand对象的ExcuteScalar方法执行下列语句:

SelectCustomerID,CustomerNameFromCustomersWhereCustomerID>99;

该方法的返回值是(A);

A、一个包含100的Object对象

B、一个包含“Tom”的Object对象

C、一个Object数组,其第0个元素是100,第一个元素是“Tom”

D、一个DataRow对象

1、写出在DataGridView上显示名为dsCustomer数据集中名为Customer的表的信息的代码:

DataGridView.Datasource=dsCustomer.Tables[“Customer”];

2、数据集Dataset的实例ds中有一个名为Customer的表,用名为daCustomer的数据适配器填充Customer表如何写代码?

daCustomer.Fill(ds,“Customer”);

3、ADO.NET2.0的新特性有_MARS__、__异步操作_、批量数据更新和_批量数据复制___。

2、ADO.NET支持断开连接方式的数据访问、__增强的可编程性______、内置XML支持这三个特征,使用户的操作更加方便、快捷。

5、事务的主要特点有原子性、__一致性、__隔离性_和可持续性。

6、事务可以分为本地事务和_分地事物_,也可以分为__手动事物_和自动事务。

7、当若干事务同时访问同一数据时,可能发生__脏读_、不可重复读和__幻读_。

8、SQL错误号为____17___表示服务器名称无效,____4060____表示数据库名称无效。

(18457表示帐号或密码错误)

9、___DiffGram___是用于标识数据元素的当前版本和初始版本的XML格式。

10、DataAdapter包含__Fill()_和__Updata()__方法,分别用于填充数据到数据集并把数据集的数据更新提交到数据库。

 

1、DataReader能否直接在代码中创建?

如果不能,应如何创建?

不能,DataReader要通过Command的ExecuteReader()对象。

2、DataAdapter包括哪4个Command对象?

DataAdapter使用哪个Command对象来填充DataSet?

使用哪几个Command对象来提交更新到数据源?

SelectCommand,InsertCommand,UpdataCommand,DeleteCommand,

SelectCommand

InsertCommand,UpdataCommand,DeleteCommand,3、请描述MyCommand的ExecuteNonQuery()、ExecuteScalar()、ExecuteReader()方法之间的区别。

(请举例说明其区别)

ExecuteNonQuery()返回受影响的行数。

ExecuteScalar():

返回受影响的列名。

ExecuteReader()返回搜索出来的数据。

4、请简述DataTable和DataView之间有何不同。

DataTable对象用来表示DataSet中的表。

一个DataTable表示内存中的关系数据的一个表。

数据对于它所驻留的。

NET应用程序是本地的,但它不能用现有的数据源填充。

DataView对象类似SQLSERVER中的视图,它表示DataTable中数据子集的对象

 

4、简述事务的概念、分类和属性。

事务是一系列操作的集合,事务的成功或者失败是一个整体

事务可以分为本地事务和分布式事务,也可以分为手动事务和自动事务。

事务的主要特点有原子性、一致性、隔离性和可持续性。

 

相关知识点汇总:

知识点:

1、关于.NET数据提供程序:

SQLServer.NET、OLEDB.NET、ODBC.NET数据提供程序。

2、关于数据适配器DataAdapter:

属性:

SelectCommand

InsertCommand

UpdateCommand

DeleteCommand

方法:

Fill

Update

 

3、关于连接池:

通过连接池,可以保存可用连接,以便再次使用,提高了性能。

不同连接字符串的连接被放入不同的连接池中。

当删除连接池中的最后一个连接时,该池也会从内存中删除。

对于Internet应用程序以及多个用户通过多个连接字符串访问数据的应用程序来说使用连接池尤其重要。

4、DDL:

CREATE、ALTER、DROP

DCL:

GRANT、DENY、REVOKE

DML:

INSERT、UPDATE、DELETE、SELECT

5、Command对象方法:

ExcuteScalar():

返回单值(能举例说明)

ExcuteReader():

返回行集(能举例说明)

ExcuteNonQuery():

不返回值,当对表执行增删改操作时,返回被影响的行数。

6、连接环境与非连接环境:

例子

如:

证券公司证券交易所使用的软件一定要用到连接环境,而畜牧场对牲畜数量进行跟踪的软件就可以用非连接环境。

7、连接对象和非连接对象

连接对象:

DataAdapter\DataReader\Command\Connection

非连接对象:

DataSet\DataTable\DataRelation\DataColumn\DataRow

8、在DataTable中插入数据的操作:

如下:

(1)DataRowdrNewStudent=dtStudents.NewRow();

drNewStudent[0]=12;

drNewStudent[1]="张三";

dtStudents.Rows.Add(drNewStudent);

(2)DataRowdrNewStudent=dtStudents.NewRow();

drNewStudent["StudentID"]=12;

drNewStudent["LastName"]="张三";

dtStudents.Rows.Add(drNewStudent);

(3)dtStudents.Rows.Add(NewObject[]{12,"张三"});

9、连接字符串(ConnectionString)常用参数:

Provider:

设置或返回连接的OLEDB数据提供程序(仅OLEDB.NETFramework数据提供程序)

InitialCatalog或Database:

打开连接后要打开的数据库的名称

DataSource:

服务器名称

IntegratedSecurity或Trusted_Connection:

如果此参数值为false,则必须指定其中的UserID和Password。

如果其值为true,则数据源使用当前身份验证的MicrosoftWindows账户凭证。

其可识别值为true、false、yes、no以及sspi(强烈推荐),sspi等价于true

10、外键约束的更新删除规则:

ForeignKeyConstraint.DeleteRule和ForeignKeyConstraint.UpdateRule属性中,可以设置如下4个值之一

Cascade:

删除或更新相关行。

此为默认设置

SetNull:

设置相关行中的值为DBNull

SetDefault:

设置相关行中的值为DefaultValue

None:

不执行任何操作

11、非类型化数据集和类型化数据集的区别:

12、ReadXml:

加载架构和数据

ReadXmlSchema:

加载架构

WriteXml:

保存架构和数据

WriteXmlSchema:

保存架构

13、SQL错误号:

17:

服务器名称无效

4060:

数据库名称无效

18456:

用户名或密码错误

SQLError对象的公共属性及其描述:

Class:

获取从SQLSERVER返回的错误的严重等级

LineNumber:

获取包含错误的批处理命令或存储过程的行号

Message:

获取对错误进行描述的文本

Number:

获取一个标识错误类型的数字

严重度等级:

1-10:

信息消息,指示由用户输入信息中的错误所引起的问题,连接仍然打开,以便继续工作

11-16:

由用户生成,可以由用户更正

17-19:

软件或硬件错误,可以继续工作,但不能执行特定语句,连接仍是打开的

20-25:

软件或硬件错误,服务器关闭连接,用户可以重新打开连接

14、关于事务:

使用Connection对象的BeginTransation方法创建事务对象。

事务的概念、属性(原子性、一致性、持续性、隔离性)、分类(本地事务和分布式事务)。

并发问题:

破坏数据、脏读、不可重复读、幻读。

隔离级别的设置问题:

(重点掌握ReadUncommitted、ReadCommitted、RepeatableRead、Serializable)

15、DataTable和DataView之间的区别

16、应用:

了解应用数据库访问技术实现应

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1