adonet题目含问题详解.docx
《adonet题目含问题详解.docx》由会员分享,可在线阅读,更多相关《adonet题目含问题详解.docx(17页珍藏版)》请在冰豆网上搜索。
adonet题目含问题详解
题目含答案
数据库访问技术
——ADO.NET程序设计
1.ADO.NET模型中的下列哪些对象属于Connected对象?
A.Connection
B.DataAdapter
C.DataReader
D.DataSet
正确答案:
ABC
2.在ADO.NET中,为访问DataTable对象从数据源提取的数据行。
可使用DataTable对象
的_______属性。
A.Rows
B.Columns
C.Constraints
D.DataSet
正确答案:
A
3.在ADO.NET中使用XML支持时,以下哪些建议是可取的?
A.从DataSet读取XML格式的数据
B.使用XML格式的数据填充DataSet
C.为DataSet创建XML格式的构架描述
D.将数据以XML格式保存在数据库中
正确答案:
ABC
4.目前,Microsoft.NETFramework的发行包中包含以下.NET数据提供程序。
A.SQLServer.NET数据提供程序
B.OLEDB.NET数据提供程序
C.ODBC.NET数据提供程序
D.XML.NET数据提供程序
正确答案:
AB
5.为访问MicrosoftAccess2000数据库中的数据,可以使用以下哪种.NET数据提供者
连接到数据库?
A.SQLServer.NET数据提供程序
B.OLEDB.NET数据提供程序
C.ODBC.NET数据提供程序
D.XML.NET数据提供程序
正确答案:
BC
6.为了在程序中使用ODBC.NET数据提供程序,应在源程序工程中添加对程序集______
的引用。
A.System.Data.dll
B.System.Data.SQL.dll
C.System.Data.OleDb.dll
D.System.Data.Odbc.dll
正确答案:
D
7.SQLServer的Windows身份验证机制是指,当网络用户尝试连接到SQLServer数据库
时,
A.Windows获取用户输入的用户和密码,并提交给SQLServer进行身份验证,并决定
用户的数据库访问权限
B.SQLServer根据用户输入的用户和密码,提交给Windows进行身份验证,并决定用
户的数据库访问权限
C.SQLServer根据已在Windows网络中登录的用户的网络安全属性,对用户身份进行
验证,并决定用户的数据库访问权限
D.登录到本地Windows的用户均可无限制访问SQLServer数据库
正确答案:
C
8.SQLServer2000在Windows98上
A.无法运行
B.运行在集成身份验证模式
C.运行在混合身份验证模式
D.不验证用户身份
正确答案:
C
9.在VisualStudio.NET的服务器资源管理器中,下列哪些是可见的服务项目?
A.数据连接
B.网络连接
C.事件日志服务
D.设备管理器
正确答案:
AC
10.参考下列C#语句:
SqlConnectionConn1=newSqlConnection();
Conn1.C;
Conn1.Open();
SqlConnectionConn2=newSqlConnection();
Conn2.C;
Conn2.Open();
请问:
上述语句将创建_____个连接池来管理这些SqlConnection对象?
A.1
B.2
C.0
正确答案:
B
11.打开SQLConnection时返回的SQLServer错误号为4060,该错误表示:
A.连接字符串指定的服务器名称无效
B.连接字符串指定的数据库名称无效
C.连接超时
D.连接字符串指定的用户名或密码错误
正确答案:
A
12.设计ADO.NET应用程序时,在下列哪些情况下,使用Command对象直接访问数据源更加
有效?
A.使用ADO.NET对XML数据文件中的数据进行分析和处理
B.在SQLServer数据库的表中搜索某个字段值
C.计算SQLServer数据库中数据表的行数
D.在SQLServer数据库中创建存储过程
正确答案:
BCD
13.为创建在SQLServer2000中执行Select语句的Command对象,可先建立到SQLServer
2000数据库的连接,然后使用连接对象的_______方法创建SqlCommand对象。
A.Open
B.OpenSQL
C.CreateCommand
D.CreateSQL
正确答案:
C
14.数据库F:
\BooksMgt.mdb包含表Book。
创建名为conn数据连接对象定义如下:
OleDbConnectionconn=new
OleDbConnection(@"rovider='Microsoft.Jet.OLEDB.4.0';Data
Source='F:
\BooksMgt.mdb'");
请问下列C#语句是否正确?
OleDbCommandcmd=conn.CreateCommand();
cmd.CommandText="Select*FromBook";
cmd.CommandType=CommandType.Text;
A.正确
B.错误
正确答案:
A
15.变量名为conn的SqlConnection对象连接到本地SQLServer2000的Northwind实例。
该实例中包含表Orders。
为了从Orders表查询所有CustomerID等于“tom”的订单数
据,请用正确的字符串sqlstr的赋值语句替换下列第一行语句。
stringsqlstr="本字符串需要你用正确的SQL语句替换":
conn.Open();
SqlCommandcmd=conn.CreateCommand();
cmd.CommandText=sqlstr;
cmd.CommandType=CommandType.Text;
SqlParameterp1=cmd.Parameters.Add("@CustomerID",SqlDbType.VarChar,5);
p1.Value="tom";
SqlDataReaderdr=cmd.ExecuteReader();
A.stringsqlstr="Select*FromOrderswhereCustomerID=?
";
B.stringsqlstr="Select*FromOrderswhereCustomerID=CustomerID";
C.stringsqlstr="Select*FromOrderswhere[email=CustomerID=@CustomerID]CustomerID=@CustomerID[/email]";
D.stringsqlstr="Select*FromOrders";
正确答案:
C
16.Oracle数据库实例MyOra1中存储过程CountProductsInCategory的定义如下(过程体
略):
CREATEFUNCTIONCountProductsInCategory(catIDinnumber,catNamevarchar2out)
RETURNintAS
ProdCountnumber;
BEGIN
……
RETURNProdCount;
ENDCountProductsInCategory;
使用OLEDB.NET数据提供程序的OleDbCommand对象访问该存储过程前,为了添加足
够的参数,可以_______。
1.OleDbParameterp2=newOleDbParameter("CatID",OleDbType.Int,4);
p1.Direction=ParameterDirection.Input;
cmd.Parameters.Add(p2);
2.OleDbParameterp3=newOleDbParameter("CatName",OleDbType.VarWChar,15);
p1.Direction=ParameterDirection.Output;
cmd.Parameters.Add(p3);
3.OleDbParameterp1=newOleDbParameter("RETURN_VALUE",OleDbType.Int,4);
p1.Direction=ParameterDirection.ReturnValue;
cmd.Parameters.Add(p1);
A.依次执行语句1、2、3
B.依次执行语句2、3、1
C.依次执行语句3、2、1
D.依次执行语句3、1、2
正确答案:
D
17.某Command对象cmd将被用来执行以下SQL语句,以向数据源中插入新记录:
insertintoCustomersvalues(1000,“tom”)
请问,语句cmd.ExecuteNonQuery();的返回值可能为
A.0
B.1
C.1000
D.“tom”
正确答案:
AB
18.cmd是一个SqlCommand类型的对象,并已正确连接到数据库MyDB。
为了在遍历完
SqlDataReader对象的所有数据行后立即自动释放cmd使用的连接对象,应采用下列哪
种方法调用ExecuteReader方法?
A.SqlDataReaderdr=cmd.ExecuteReader();
B.SqlDataReaderdr=cmd.ExecuteReader(true);
C.SqlDataReaderdr=cmd.ExecuteReader(0);
D.SqlDataReaderdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
正确答案:
D
19.下列哪个SQL语句属于DDL语句(数据定义语句)?
A.Create
B.Select
C.Grant
D.Insert
正确答案:
A
20.SQLServer2000的BEGINTRANS和COMMITTRANS、ROOLBACKTRANS语句可用于______
中来支持操作的事务特性。
A.Select语句
B.存储过程
C.ADO.NET连接对象的Transaction属性
D.ADO.NET命令对象的CommandText属性
正确答案:
B
21.使用SQLServer.NET数据提供程序访问SQlServer2000数据库时,我们创建了事务
对象trans,并将其IsolationLevel属性设置为Serializable,则在该事务中执行
Command对象的方法________。
A.可以防止在读取时破坏数据
B.可以防止脏读
C.可以防止不可重复读
D.可以防止幻象读取
正确答案:
ABCD
22.下列哪些选项可以作为DataSet的数据源?
A.SQLServer2000数据库中的视图
B.Oracle数据库中的表
C.XML文件
D.Excel制表文件
正确答案:
ABCD
23.为了在程序中使用DataSet类定义数据集对象,应在文件开始处添加对命名空间
_______的引用。
A.System.IO
B.System.Utils
C.System.Data
D.System.DataBase
正确答案:
C
24.下列哪些方法可以在DataSet对象ds中添加一个名为“Customers”的DataTable对象?
A.DataTabledt_customers=newDataTable();
B.DataTabledt_customers=newDataTable("Customers");
ds.Tables.Add(dt_customers);
C.ds.Tables.Add("Customers");
D.ds.Tables.Add(newDataTable("Customers");
正确答案:
BCD
25.已知ds1、ds2分别代表两个不同的DataSet对象。
其中ds1已包含名为“Customer”
的DataTable对象,且该DataTable对象被变量dt_Customer引用。
已知dt_Customer
表中有100条记录,则执行下列语句后,新的数据表new_dt_Customer中包含______
条记录。
DataTablenew_dt_Customer=dt_Customer.Copy();
A.0
B.100
C.200
D.300
正确答案:
B
26.dt为DataTable类型的变量,引用名为"Customers"的DataTable对象。
该表中包含
"CustomerID"、"CustomerName"、"Address"、"Telephone"等4列。
将数据列
"CustomerID"设为该表的主键的正确语句有:
A.dt.PrimaryKey="CustomerID";
B.dt.PrimaryKey.Add("CustomerID");
C.dt.PrimaryKey=newobject[]{"CustomerID"};
D.dt.PrimaryKey=newDataColumn[]{dt.Columns["CustomerID"]};
正确答案:
D
27.已知ds为数据集对象。
以下语句的作用是_____。
ds.Tables["roduct"].Constraints.Add(
newUniqueConstraint("UC_ProductName",newstring[]{"Name","Class"},true));
A.为表"roduct"添加一个由列"Name","Class"组合成的主键约束
B.为表"roduct"添加一个由列"Name","Class"组合成的唯一性约束
C.为数据集ds添加一个名为"roduct"的数据表,并添加两个列,列名分别为"Name"
和"Class"
D.为数据集ds添加一个名为"roduct"的数据表,并添加一个名为"UC_ProductName"
的数据列
正确答案:
A
28.已知变量ds引用某个DataSet对象,该DataSet对象中已包含一个表名为"table1"的
数据表。
在Windows窗体Form1中,为了将变量名为dataGrid1的DataGrid控件绑定
到数据表"table1",可以使用代码_______。
A.dataGrid1.DataSource=ds;
dataGrid1.DataMember=ds.Tables["table1"];
B.dataGrid1.DataMember=ds;
C.dataGrid1.DataSource=newDataView(ds.Tables["table1"]);
D.dataGrid1.DataSource=ds.Tables["table1"];
dataGrid1.DataMember=ds;
正确答案:
AC
29.数据集ds中两数据表(父表:
Customer;子表:
CartItems)之间有如图外键约束。
父表Customers中有一行数据的CustomerID=100,子表CartItems中有20行数据的
CustomerID=100。
若从父表中删除该行,则:
A.子表不发生任何变化
B.子表中20个相关行的CustomerID列的值变为DBNull
C.子表中20个相关行被删除
D.引发Exception
正确答案:
D
30.数据集对象dsNorthwind包含两个表,表名分别为"Customers"和"Orders"。
执行下列
语句:
dsNorthwind.Relations.Add(
"FK_CustomersOrders",
dsNorthwind.Tables["Customers"].Columns["CustomerID"],
dsNorthwind.Tables["Orders"].Columns["CustomerID"],
false);
该语句运行结果有____________。
A.为dsNorthwind创建了表"Customers"和"Orders"之间的导航关系
B.为表"Customers"创建了一个唯一性约束
C.为表"Orders"创建了一个唯一性约束
D.为表"Customers"创建了一个外键约束,其父表为"Orders"
E.为表"Orders"创建了一个外键约束,其父表为"Customers"
正确答案:
A
31.DataSet对象ds中,数据表对象Customers的表名为"Customers",其表结构如下:
列名类型列序号
CustomerIDint0
CompanyNamestring1
Addressstring2
Citystring3
则下列向该表添加一行新数据的语句是否正确?
object[]row={"ATA","A8","Beijing",1};
ds.Tables["Customers"].Rows.Add(row);
A.正确
B.错误
正确答案:
B
32.DataSet对象ds中,数据表对象Customers的表名为"Customers",其表结构如下:
列名类型列序号
CustomerIDint0
CompanyNamestring1
Addressstring2
Citystring3
该表有300条记录,其中有一些刚刚被标记为删除。
我们希望从表中查找所有已经标记
为删除的、来自London的客户信息,并将结果以City列递减排序放入一个DataRow数
组中。
则执行下列______语句可以完成此目标。
A.DataRow[]selRows=Customers.Select("City='London'","CityDESC",
DataRowState.Deleted);
B.DataRow[]selRows=Customers.Select("City='London'","CityDESC",
DataViewRowState.Deleted);
C.DataRow[]selRows=Customers.Select("City='London'","CityASC",
DataRowState.Deleted);
D.DataRow[]selRows=Customers.Select("City='London'","CityASC",
DataViewRowState.Deleted);
正确答案:
B
33.DataView对象的特性有:
A.DataView只能访问单个DataTable表
B.DataView可以作为连接两个相关表的手段
C.DataView不能进行排序
D.DataView可以根据记录的版本、状态进行筛选
正确答案:
AD
34.一般情况下,我们可以从代表DataSet数据的XML文件中推断出DataSet的架构。
然而,
我们需要使用XSD架构的原因有:
A.避免从XML文件推断DataSet架构造成的额外开销
B.推断出的架构无法达到与XSD架构同等的细节水平
C.XML文件不是良构的,而XSD文件是良构的
D.从XML推断DataSet架构是非法的
正确答案:
AB
35.在某XSD文件中,有以下代码片断:
其中,标记的作用是:
A.元素“类别_ID”的值是递增的
B.“类别”元素下的两个子元素都必须出现
C.“类别”元素下的两个子元素是可选的
D.要求“类别”元素下的两个子元素必须以指定的顺序出现。
正确答案:
D
36.Dataset1为一数据集对象,语句
Dataset1.ReadXml("F:
/Dataset1.XML",XmlReadMode.ReadSchema);
的作用是:
A.若Dataset1已经包含架构,则将所有由XML文件内部架构定义的新表加入Dataset1,
然后向Dataset1加载数据;
B.向Dataset1加载数据;忽略所有XML文件内部架构,并丢弃所有与Dataset1现有
架构不匹配的数据。
C.忽略所有XML文件内部架构而根据XML数据推断出新的架构。
添加到Dataset1;然
后向Dataset1加载数据。
D.从XML文件读取数据集数据修改信息,将其合并到Dataset1中。
正确答案:
A
37.为了只把DataSet对象MyDS的数据修改情况写入文件"F:
/MyDS.XML"中,以备在网
络可用时更新到数据库中,可执行
A.MyDS.WriteXmlSchema("F:
/MyDS.XSD");
B.stringMyDSSchema=MyDS.GetXml();
C.MyDS.WriteXml("F:
/MyDS.XSD",XmlWriteMode.WriteSchema);
D.MyDS.WriteXml("F:
/MyDS.XSD",XmlWriteMode.IgnoreSchema);
E.MyDS.WriteXml("F:
/MyDS.XSD",XmlWriteMode.DiffGram);
正确答案:
E
38.目前在ADO.NET中可以使用与下列哪些数据源相关的DataAdapter?
A.SQLServer.NET数据源
B.OLEDB.NET数据源
C.XML文件
D.ODBC.NET数据源
正确答案:
ABC
39.DataAdapter对象使用与______属性关联的Command对象将DataSet修改的数据保存
入数据源。
A.SelectCommand
B.InsertCommand
C.UpdateCommand
D.DeleteCommand
正确答案:
C
40.在使用DataAdapter作为从数据源到DataSet的通道时,可能遇到数据源和DataSet
架构不匹配的情况。
DataAdapter使用________对象