分享

ado.net题目含答案

 shymi 2010-09-01
数据库访问技术
—— 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 .NET Framework 的发行包中包含以下.NET 数据提供程序。
A. SQL Server .NET 数据提供程序
B. OLE DB .NET 数据提供程序
C. ODBC .NET 数据提供程序
D. XML .NET 数据提供程序
正确答案:AB
5. 为访问Microsoft Access 2000 数据库中的数据,可以使用以下哪种.NET 数据提供者
连接到数据库?
A. SQL Server .NET 数据提供程序
B. OLE DB .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. SQL Server 的Windows 身份验证机制是指,当网络用户尝试连接到SQL Server 数据库
时,
A. Windows 获取用户输入的用户和密码,并提交给SQL Server 进行身份验证,并决定
用户的数据库访问权限
B. SQL Server 根据用户输入的用户和密码,提交给Windows 进行身份验证,并决定用
户的数据库访问权限
C. SQL Server 根据已在Windows 网络中登录的用户的网络安全属性,对用户身份进行
验证,并决定用户的数据库访问权限
D. 登录到本地Windows 的用户均可无限制访问SQL Server 数据库
正确答案:C
8. SQL Server 2000 在Windows 98 上
A. 无法运行
B. 运行在集成身份验证模式
C. 运行在混合身份验证模式
D. 不验证用户身份
正确答案:C
9. 在Visual Studio .NET 的服务器资源管理器中,下列哪些是可见的服务项目?
A. 数据连接
B. 网络连接
C. 事件日志服务
D. 设备管理器
正确答案:AC
10. 参考下列C#语句:
SqlConnection Conn1 = new SqlConnection( );
Conn1.C;
Conn1.Open( );
SqlConnection Conn2 = new SqlConnection( );
Conn2.C;
Conn2.Open( );
请问:上述语句将创建_____个连接池来管理这些SqlConnection 对象?
A.1
B.2
C.0
正确答案:B
11. 打开SQL Connection 时返回的SQL Server 错误号为4060,该错误表示:
A. 连接字符串指定的服务器名称无效
B. 连接字符串指定的数据库名称无效
C. 连接超时
D. 连接字符串指定的用户名或密码错误
正确答案:A
12. 设计ADO.NET 应用程序时,在下列哪些情况下,使用Command 对象直接访问数据源更加
有效?
A. 使用ADO.NET 对XML 数据文件中的数据进行分析和处理
B. 在SQL Server 数据库的表中搜索某个字段值
C. 计算SQL Server 数据库中数据表的行数
D. 在SQL Server 数据库中创建存储过程
正确答案:BCD
13. 为创建在SQL Server 2000 中执行Select 语句的Command 对象,可先建立到SQL Server
2000 数据库的连接,然后使用连接对象的_______方法创建SqlCommand 对象。
A. Open
B. OpenSQL
C. CreateCommand
D. CreateSQL
正确答案:C
14. 数据库F:\BooksMgt.mdb 包含表Book。创建名为conn 数据连接对象定义如下:
OleDbConnection conn = new
OleDbConnection(@"rovider='Microsoft.Jet.OLEDB.4.0';Data
Source='F:\BooksMgt.mdb'");
请问下列C#语句是否正确?
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "Select * From Book";
cmd.CommandType = CommandType.Text;
A. 正确
B. 错误
正确答案:A
15. 变量名为conn 的SqlConnection 对象连接到本地SQL Server 2000 的Northwind 实例。
该实例中包含表Orders。为了从Orders 表查询所有CustomerID 等于“tom”的订单数
据,请用正确的字符串sqlstr 的赋值语句替换下列第一行语句。
string sqlstr="本字符串需要你用正确的SQL语句替换":
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sqlstr;
cmd.CommandType = CommandType.Text;
SqlParameter p1 = cmd.Parameters.Add("@CustomerID",SqlDbType.VarChar,5);
p1.Value = "tom";
SqlDataReader dr = cmd.ExecuteReader();
A. string sqlstr="Select * From Orders where CustomerID=?";
B. string sqlstr="Select * From Orders where CustomerID=CustomerID ";
C. string sqlstr="Select * From Orders where [email=CustomerID=@CustomerID]CustomerID=@CustomerID[/email] ";
D. string sqlstr="Select * From Orders";
正确答案:C
16. Oracle 数据库实例MyOra1 中存储过程CountProductsInCategory 的定义如下(过程体
略):
CREATE FUNCTION CountProductsInCategory(catID in number,catName varchar2 out)
RETURN int AS
ProdCount number;
BEGIN
……
RETURN ProdCount;
END CountProductsInCategory;
使用OLE DB .NET 数据提供程序的OleDbCommand 对象访问该存储过程前,为了添加足
够的参数,可以_______。
1. OleDbParameter p2 = new OleDbParameter("CatID",OleDbType.Int,4);
p1.Direction = ParameterDirection.Input;
cmd.Parameters.Add(p2);
2. OleDbParameter p3 = new OleDbParameter("CatName",OleDbType.VarWChar,15);
p1.Direction = ParameterDirection.Output;
cmd.Parameters.Add(p3);
3. OleDbParameter p1 = new OleDbParameter("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 语句,以向数据源中插入新记录:
insert into Customers values(1000,“tom”)
请问,语句cmd.ExecuteNonQuery( );的返回值可能为
A. 0
B. 1
C. 1000
D. “tom”
正确答案:AB
18. cmd 是一个SqlCommand 类型的对象,并已正确连接到数据库MyDB。为了在遍历完
SqlDataReader 对象的所有数据行后立即自动释放cmd 使用的连接对象,应采用下列哪
种方法调用ExecuteReader 方法?
A. SqlDataReader dr = cmd.ExecuteReader( );
B. SqlDataReader dr = cmd.ExecuteReader(true);
C. SqlDataReader dr = cmd.ExecuteReader(0);
D. SqlDataReader dr= cmd.ExecuteReader(CommandBehavior.CloseConnection);
正确答案:D
19. 下列哪个SQL 语句属于DDL 语句(数据定义语句)?
A. Create
B. Select
C. Grant
D. Insert
正确答案:A
20. SQL Server 2000 的BEGIN TRANS 和COMMIT TRANS、ROOLBACK TRANS 语句可用于______
中来支持操作的事务特性。
A. Select 语句
B. 存储过程
C. ADO.NET 连接对象的Transaction 属性
D. ADO.NET 命令对象的CommandText 属性
正确答案:B
21. 使用SQL Server .NET 数据提供程序访问SQl Server 2000 数据库时,我们创建了事务
对象trans,并将其IsolationLevel 属性设置为Serializable,则在该事务中执行
Command 对象的方法________。
A. 可以防止在读取时破坏数据
B. 可以防止脏读
C. 可以防止不可重复读
D. 可以防止幻象读取
正确答案:ABCD
22. 下列哪些选项可以作为DataSet 的数据源?
A. SQL Server 2000 数据库中的视图
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. DataTable dt_customers = new DataTable();
B. DataTable dt_customers = new DataTable("Customers");
ds.Tables.Add(dt_customers);
C. ds.Tables.Add("Customers");
D. ds.Tables.Add(new DataTable("Customers");
正确答案:BCD
25. 已知ds1、ds2 分别代表两个不同的DataSet 对象。其中ds1 已包含名为“Customer”
的DataTable 对象,且该DataTable 对象被变量dt_Customer 引用。已知dt_Customer
表中有100 条记录,则执行下列语句后,新的数据表new_dt_Customer 中包含______
条记录。
DataTable new_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 = new object[]{"CustomerID"};
D. dt.PrimaryKey = new DataColumn[]{dt.Columns["CustomerID"]};
正确答案:D
27. 已知ds 为数据集对象。以下语句的作用是_____。
ds.Tables["roduct"].Constraints.Add(
new UniqueConstraint("UC_ProductName",new string[]{"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 = new DataView(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",其表结构如下:
列名 类型 列序号
CustomerID int 0
CompanyName string 1
Address string 2
City string 3
则下列向该表添加一行新数据的语句是否正确?
object[] row = { "ATA","A8","Beijing",1};
ds.Tables["Customers"].Rows.Add(row);
A. 正确
B. 错误
正确答案:B
32. DataSet 对象ds 中,数据表对象Customers 的表名为"Customers",其表结构如下:
列名 类型 列序号
CustomerID int 0
CompanyName string 1
Address string 2
City string 3
该表有300 条记录,其中有一些刚刚被标记为删除。我们希望从表中查找所有已经标记
为删除的、来自London 的客户信息,并将结果以City 列递减排序放入一个DataRow 数
组中。则执行下列______语句可以完成此目标。
A.DataRow[] selRows = Customers.Select("City = 'London'", "City DESC",
DataRowState.Deleted);
B.DataRow[] selRows = Customers.Select("City = 'London'", "City DESC",
DataViewRowState.Deleted);
C.DataRow[] selRows = Customers.Select("City = 'London'", "City ASC",
DataRowState.Deleted);
D.DataRow[] selRows = Customers.Select("City = 'London'", "City ASC",
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 文件中,有以下代码片断:
<xs:element name="类别">
<xs:complexType>
<xs:sequence>
<xs:element name="类别_ID" msdata:AutoIncrement="true"
type="xs:int" />
<xs:element name="类别名称" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
其中,标记<xs:sequence>的作用是:
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. string MyDSSchema = 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. SQL Server .NET 数据源
B. OLE DB .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 使用________对象处理该情况。
A. UpdateCommand
B. DataBindings
C. TableMappings
D. XSD 架构文件
正确答案:C
41. 已知有如下变量:
string strConn1 = “Provider=SQLOLEDB;Data Source=(local)\NetSDK;”+
“Initial Catalog=Northwind”;
string strConn2 = “Data Source=(local)\NetSDK;”+
“Initial Catalog=Northwind;Provider=SQLOLEDB”;
string strSql1 = “SELECT * FROM Customers”;
string strSql2 = “SELECT * FROM Orders”;
有下列3 组语句:
1. OleDbDataAdapter da1 = new OleDbDataAdapter(strSql1,strConn1);
OleDbDataAdapter da2 = new OleDbDataAdapter(strSql2,strConn1);
调用da1、da2 将数据下载到数据集
2. OleDbDataAdapter da1 = new OleDbDataAdapter(strSql1,strConn1);
OleDbDataAdapter da2 = new OleDbDataAdapter(strSql2,strConn2);
调用da1、da2 将数据下载到数据集
3. OleDbConnection conn = new OleDbConnection(strConn1);
OleDbDataAdapter da1 = new OleDbDataAdapter(strSql1,conn);
OleDbDataAdapter da2 = new OleDbDataAdapter(strSql2,conn);
调用da1、da2 将数据下载到数据集
则执行效率最低的一组语句是_______。
A. 1
B. 2
C. 3
D. 都一样
正确答案:B
42. 为了提高性能,在使用DataAdapter 填充DataSet 前,可以将_____属性值设为false.
A. DataSet 对象的EnforceConstraints
B. DataSet 对象的CaseSensitive
C. DataAdapter 对象的AcceptChangesDuringFill
D. DataAdapter 对象的MissingSchemaAction
正确答案:A
43. 为了控制DataAdapter 的Fill 方法如何在填充数据之前向DataSet 加载数据源架构
信息,可在调用该方法前,将DataAdapter 的MissingSchemaAction 属性设为______,
使得Fill 方法在填充数据前,向DataSet 架构添加额外的表和列,并且给DataTable
添加主键信息。
A. Add
B. AddWithKey
C. Error
D. Ignore
正确答案:B
44. da 为DataAdapter 对象,其SeclectCommand 的查询字符串为:
Select * From Customers
da 的TableMappings 集合中包含一个DataTableMapping 对象,如下代码所示:
DataTableMapping dcm=da.TableMappings.Add("Customers","dtCustomers");
dcm.ColumnMappings.Add("CustomerID","dtCustomerID");
dcm.ColumnMappings.Add("CustomerName","dtCustomerName");
dcm.ColumnMappings.Add("Address","dtAddress");
数据集ds 中已包含一个名为dtCustomers 的数据表,该表包含3 个数据列,列名分
别为dtCustomerID、dtCustomerName、dtAddress ;另一方面,数据库中包含一个名
为Customers 的数据表,该表包含3 个数据列,列名分别为CustomerID、CustomerName、
Address。 请问,若调用以下代码结果如何?
da.FillSchema(ds,SchemaType.Source,"Customers");
A. 目标数据集中包含1 个数据表,表名"Customers"
B. 目标数据集中包含1 个数据表,表名"dtCustomers"
C. 目标数据集中包含1 个数据表,表名"Table"
D. 目标数据集中包含2 个数据表,表名"Customers"、"dtCustomers"
E. 目标数据集中包含2 个数据表,表名"Table"、"dtCustomers"
F. 发异常
正确答案:D
45. 在ADO.NET 编程中,能否使用一个DataAdapter 对象向多个DataTable 填充数据?
A. 可以
B. 不可以
正确答案:B
46. 在 DataSet 中,若修改某一DataRow 对象的任何一列的值,该行的DataRowState 属
性的值将变为 ________。
A. DataRowState.Added
B. DataRowState.Deleted
C. DataRowState.Detached
D. DataRowState.Modified
正确答案:D
47. myDataSet 是一数据集对象,其中包含通过 DataAdapter 从数据库检索的构架和数据。
在本地对myDataSet 进行修改后,调用下列语句
DataSet changes = myDataSet.GetChanges();
获得的新的数据集changes 将包含原数据集中状态为______的数据行。
A. Added
B. Deleted
C. Detached
D. Modified
E. Unchanged
正确答案:ABD
48. DataAdapter 对象的DeleteCommand 的属性值为null,将造成:
A. 程序编译错误
B. DataAdapter 在处理DataSet 中被删除的行时,这些行将被跳过不处理
C. DataAdapter 在处理DataSet 中被删除的行时,将引发异常
D. DataAdapter 在处理DataSet 中被删除的行时,将出现对话框询问用户如何处理该

正确答案:C
49. DataAdapter 对象的Update 查询语句中, 使用下列哪种Where 子句可以保证本行的
更新不会覆盖其他用户的更改。
A. 包含数据源所有的列
B. 只包含主键列
C. 包含主键列和一个时戳列
D. 包含主键列和已修改列
正确答案:ACD
50. 如果远端的XML Web Service 进行了安全性设置,要求调用这必须经过身份验证,则
在客户端代码中应该包含_______。
A. 创建用户名和密码的代码
B. 将客户端凭据传递给XML Web Service 的代码
C. 向Microsoft 注册的代码
D. 登录到XML Web Service 所属计算机的方法
正确答案:B

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约