试卷代号 : 2 2 3 4 座位号 T] 中央广播电视大学 2 0 0 8-2 0 09 学年度第二学期 " 开放专科 " 期未考试.NET 编程基础 试题 2009 年 7 月 题号 - 二! 三! 四 总分 分数._, 得分 l 评卷人 1 _ 一 选择题 { 选择一个正确答案的代码填入括号中, 每空 2 分. 共 3 0 分 ) 1. 以下语句获取表中第 2 行第 2 列 ( F i r s tname 列 的数据, 其中正确的语句是 ( ) A. mytable. Rows(3) ("FirstName") B. mytable. Rows( l). t em ( "F i r s tna m e 勺 C. mytable. Rows(2)(l) D. mytable. Rows(3). tem <l ) 2. 访问 Oracle 数据库需要使用的命名空间是 ( ) A. System. Data. SqlClient B. System. Data. OleDb C. System. Da tao Oracle D. System. Data. Odbc 3. 如果要将数据集的架构和数据同时导出到一个 XML 文件, 需要调用的方法是 ( ) A. DataSet. ReadX 孔 1L B. DataSet. WriteXmlSchema C. DataSet. W ritexml D. DataSet. ReadXmlSchema 4. 如果要给 DataTable 添加约束但是不添加数据, 需要使用 ( ) A. 数据适配器的 FillSchema 方法 B. DataTable 的 FillSchema 方法 C. DataTable 的 Fill 方法 D. DataSet 的 FillSchema 方法 E. 数据适配器的 Fill 方法 5. 要检索指定主表记录的所有子表相关记录, 应该调用的方法是 ( ) A. GetParentRows B. GetChidRows C. GetRelation D. GetRows 6. 包含在 DataSet 集合中的集合是 ( A. Tables 集合 B. Columns 集合 C. Rows 集合 D. Parameters 集合 1383
7. 使用 Command 对象和存储过程进行数据操作时, 应将 CommandType 属性设置 为 ( ) BD FUFU tgtt CP mm mm T OOaa mmnnyyee P-DAOF A. CommandType. Text mm U,G CommandType. StoredProcedure EC. ex6t 8. 关于使用 Directory 和 Directory nfo 类获取子目录的正确描述 ( )( ) A. Directory. GetDirectories 返回一个目录数组 B. Directοry nfo. GetDirectories 返回一个目录数组 C. Directorynfo. GetDirectories 返回一个字符串数组 D. Directory. GetDirectories 返回一个字符串数组 9. mydataset. Tables. AddRange (dtarray) 语句中的 dtarray 是一个 ( ) 数组 A. DataSet B. DataTable C. Table D. DataArray 10. 以下语句实现的是面向对象的 Public Class Customernfo nherits Personnfo A. 封装 B. 继承 C. 接口 D. 多态 1 1. 面向对象程序设计中的数据封装指的是 ( ) A. 输入数据必须输入保密口令 B. 数据经过加密处理 c. 对象内部数据结构上建有防火墙 D. 对象内部数据结构的不可访问性 12. 下面的代码结构表示的是对象的为 ( ) Public ReadOnly Property propertynameo As datatype ' 获取值 Get Return var End Get End Property A. 公共属性 B. 只读属性 1384 C. 只写属性 D. 可变属性
13. 下面这段代码的运行结果是 ( ) Dim MyStringBuilder As New StringBuilder("Hello World! 勺 MyStringBuilder. nsert(6, "Beautiful Console. WriteLine(MyStringBuilder) A. HelloBeautiful World! B. HelloBeautifulWorld! C. Hello Beautiful World! D. Hello BeautifulWorld! 14. 以下不属于值类型的是 ( A. 结构 B. 对象 C. 内置值类型 D. 枚举 勺 得分 评卷人 二 判断题 ( 正确的划.J, 错的划 X, 每小题 2 分, 共 20 分 } 1. 数据集中的数据表名称不区分大小写, ds. Tables (" Employees 勺和 ds. Tables ( 飞 mp l oye e s' 勺是同一个表 ( ) 2. 可以使用 For Each... Next 语句依次处理数组的成员 ( ) 3. 可以使用 GetChildRows 方法检索指定主表记录的所有子表相关记录 ( ) 4. Dim fs As StringO = Directory. GetFiles( 飞 z \ 气 " 铃. txt") 的作用是列出 C 盘根目录 下的所有 t xt 文件 ( ) 5. Delegate, 也就是委托, 是可用于调用其他对象方法的对象, 该类型提供函数指针的功 能 ( ) 6. 即使数据集中只有一个数据衰, 该表的名称也要区分大小写 ( ) 7. 创建派生类时, 可以通过 No tnheritable 创建不能作为基类的类 ( ) 8. 在.NET 框架中, 数组是一种引用类型, 所有的数组都从 System. Array 类继承 ( ) 9. 委托是值类型 ( ) 10. Directorylnfo 类提供静态方法, 不需要创建对象就可以直接使用 ( ) 1385
得分 评卷人 三 简答题 { 每小题 6 分, 共 3 0 分 } 1. 以下代码的功能为 : 通过创建一个数据集并绑定到 Da t ag r id 控件, 将 SQLSe r v er 中 pubs 数据库的 Customers 表的数据显示到 DataGrid 表格中 请指出其中的错误 ' 创建连接 c nnorthwind( 该连接使用集成安全认证, 数据库为 p u b s ) Dim en As String = 飞 e rv e r = test; database= pubs; trusted_connection= true" Dim cnnorthwind As New SqConnection(cnString) ' 创建一个基于 cn 的数据适配器 cmd 返回 c u s t om e rs 表的记录 Dim cmd As New SqlDataAdapter( 飞 elect 赞 from customers", cn) Dim dscustomers As DataSet 创建数据集 cmd. Fill (dscustomers, 飞 ustomers 勺 ' 填充数据集命名为 Customers 表 DataGridl. DataSource = dscustomers. Tables( 飞 ustomers 勺 ' 绑定到 DataGrid 2. 简述使用 DataReader 获取数据的步骤 3. 简述类的宇段和属性的区别 4. 结构 S_Employee 和类 C_Employee 定义分别如下 : Public Structure S_Employee Public Name As String 姓名 Public Salary As Double 工资 End Structure 1386 Public Class C_Employee End Class Public Name As String 姓名 Public Salary As Double 工资 请问以下代码执行后,e 1, e2, c1, c2 的 Name 和 Salary 值分别是多少?, 测试结构 Dim e1 As S_Employee el. Salary = 1000
.e1. Name = / 邱钦伦 " Dim e2 As S_Employee e2 = e1 e2. Name = / 崔林 H e1. Salary = 2000 ' 测试类 Dim c1 As New C_EmployeeO c1. Salary = 1000 c1. Name = / 邱钦伦 " Dim c2 As C_Employee c2 = c1 c2. Name = / 崔林 " c1. Salary = 2000 5. 如何加载一个 XML 文件到数据集中! 得分 l 评卷人 四 编程题 ( 每空 5 分, 共 2 0 分 ) 实现表中的数据过滤可以通过 S e l ect 方法和数据视图两种方法完成 1. 以下代码通过数据表的 S el e ct 方法实现数据过滤功能, 其中 T e x t Bo x1 用于填写过滤 条件 ( C u s t om er 表中 C i ty 列的值 ), ListBox 用于显示过滤后的 CompanyName 列 请根据程 序代码中的注释将程序补充完整 ' 定义 D a t a R ow 数组用于存放过滤后的行 Dim drselectedo As DataRow Dim dr As DataRow 1 定义过滤条件 1387
Dim FilterStr As String = "City="' &. TextBoxl. Text &. 川 H ' 调用 Se l ec t 方法进行过滤 drselected = DataSetll. Tables("Customers' 勺. 1 (FilterStr) ' 添加 Com pa nyn ame 列值到 Li s tbox1 中 ListBoxl. tems. ClearO For Each dr n 2 ListBoxl. tems. Add(dr c"comp 也 nyname"» Next 2. 以下代码通过数据视图实现数据过滤功能, 其中 TextBox1 用于填写过滤条件 (Customer 表中 City 列的值 ), Da tagr id 显示该表过滤和排序后的数据 请根据程序代码中的注释将程序补充完整 ' 创建新的视图 dv Dim dv As DataView = New DataViewO ' 设置视图 dv 的表为 O r de rde t a i l s dv. ( = DataSet1l. Tables("OrderDetails 勺 ' 设置视图 dv 的过滤条件 dv. @ = "City= 川 &. TextBoxl. Text &. " MessageBox. Show(dv. Count) DataGridl. DataSource = dv 1388
试卷代号 : 2 2 3 4 中央广播电视大学 2 0 0 8-2 0 09 学年度第二学期 " 开放专科 " 期末考试. NET 编程基础试题答案及评分标准 ( 供参考 2009 年 7 月一 选择题 ( 选择 - 个正确答案的代码填入括号中, 每空 2 卦, 共 3 0 分 } 1. B 2. B 3. C 4. A 5. B 6. A 7. C 8.BD 9. B 10. B 11. D 12. B 13.C 14. B 二 判断题 ( 正确的划.J. 错的划 X, 每小题 2 分, 共 2 0 分 } 3.4.5.7.8 是正确的, 其余是错误的 三 简答题 { 每小题 6 分, 共 3 0 分 } 1. 答 : Dim dscustomers As DataSet 只是定义了数据集而井未进行初始化操作, 正确的 语句应该为 Di m dscustomers {>.S New DataSet() 2; 答 : 使用 DataReader 获取数据的步骤是 : (1) 创建一个连接对象 ; (2) 创建一千包含相应数据库查询语句的命令对象 z (3) 打开该连接对象 ; (4) 定义一个 DataReader 变量, 并执行命令对象的 ExecuteReader 方法将结果返回给定义的 Da t ar ead er 变量 ; (5) 使用 DataReader 的 Read 方法循环读取数据记录并进行相应处理 s (6) 关闭命令和连接 3. 答 : 类的成员包括成员变量和成员函数 公开的成员变量又称为字段, 而用 Property 语句定义的成员变量则称为属性 s 属性使用属性过程控制如何设置或返回值, 而宇段只是公共 变量 1389
4. 答 : el. Name = / 邱钦伦 1/, el. Salary = 2000 e2. Name = / 崔林 1/, e2. Salary = 1000 cl. Name = " 崔林 1/, cl. Salary = 2000 c2. Name = " 崔林 1/, c2. Salary = 2000 5. 答 : 加载一个 XML 文件到数据集中 z (1) 创建一个 Dat a Se t 对象 $ (2) 调用 DataSet 的 ReadXml 方法将指定的 XML 文件加载到数据集中 四 编程题 { 每空 5 分, 共 2 0 分 ) ( Select ( drselect ed ( T able @RQwFilter 1390