Winform与C#试题
1)已知在一个名为”dsOder”的数据集中第一个名为”order”的表,在”order”表中有一行一列,下列(B)能够正确访问该表记录的第一行第一列的值。(选择一项)
a) dsOder [“order”].Rows[0][0];
b) dsOder.Tables[0].Rows[0][0];
c) dsOder.Tables[0].Columns[0][0]
d) dsOder [“order”],Columns[0][0];
2) 在ADO.NET中,下列可以作为DataGridView控件的数据源是(D)(选择一项)
1.DataSet
2.DataTable
3.DataView
a) 1和2
b) 1和3
c) 3和3
d) 1. 2 3都可以
3) 下面哪些是合法的变量名。(选择一项)B
a)Svse7.0
b)Csharp_t1
c)$sum (java中允许$符号)
d) void
4) 在ADO。NET中,已知变量sqlCom是一个SqlCommand对象,则下列代码运行时
将出现异常的是(D)。
SqlDataReader reader=sqlCom.ExecuteReader();//1
reader.Read(); //2
reader.Close(); //3
reader.Read(); //4
a)1
b)2
c)3
d)4
5) 在WinForms中,已知有一个名为Form1的窗体,请问下列代码执行过程中,最先触发的事件是( A)。(选择一项)
Form1 f=new Form1();
f.Activate();
f.Show();
f.Close();
a)Load
b)Activated
c)Closing
d)Closed
6) C#多行注释是(B) (选择一项)
a)//
b)/* */
c)///
d)/** **/
7) 在C#中,下列变量定义与赋值正确的是( C)。 (选择一项)
a)int age = 12.5;
b)string name = svse;
c)double money = 100.0;
d)char level = A;
8) C#应用程序源文件都是以(D)后缀名结尾。 (选择一项)
a)exe
b)sln
c)pdb
d)cs
9) 在C#中,下列代码的运行结果是( C )。(选择一项)
int []age = new int[]{16,18,20,14,22};
foreach(int I in age){
If(i>18)
{
Continue;
}
Console.Write(i.ToString()+” “);
}
a)16 18 20 14 22
b)16 18 14 22
c)16 18 14
d)16 18
10) 使用( D )对象来向DataSet中填充数据(选择一项) Fill(ds,”表名”)
A) Connection
B) Command
C) DataReader
D) DataAdapter
11) 如果没有显示赋值,则将整数值(A )赋值给枚举中的第一个元素。(选择一项)
a)0
b)3
c)2
d)1
12) 在ADO.NET中,下列(C )组件不属于.NET数据提供程序。(选择一项)
注:没有前缀的类就是本题答案
a)Command
b)DataReader
c)DataSet
d)DataAdapter
13) 在ADO.NET中,下列关于DataSet类说法错误的是(B)。(选择一项)
a)在DataSet中,可以包含多个DataTable
b)修改DataSet中的数据后,数据库中的数据可以自动更新
c)在与数据库断开连接后,DataSet中的数据不会消失
d)DataSet实际上是从数据源中检索的数据在内存中的缓存
14) 在C#中,最容易被程序员发现的错误是(C )。(选择一项)
a)逻辑错误
b)语义错误
c)语法错误
d)在一个表达式中,程序员错把++写出了--
15) 在C#中,下列代码的运行结果是(A )
String[] names = { “svse5.0”,”svse6.0”,”svse7.0”};
foreach(string name in names)
{
Console.WriteLine(name);
}(选择一项)
a)svse5.0
svse6.0
svse7.0
b)n
a
m
e
s
c)name
name
name
d)“svse5.0”
“svse6.0”
“svse7.0”
16) ADO.NET的( C)对象用来建立应用程序与数据库的连接。(选择一项)
a)DataSet
b)DataReader
c)Connection
d)Command
17) 利用Command对象的ExecuteNonQuery()方法执行insert,update或delete 语句时,将返回( C ). (选择一项)
A)True 或 False
B)1 或 0
C)受影响的行数
D)-1
18) 在C#中,下列关于程序的各种错误,说法错误的是( D ).(选择一项)
a) 只通过调试无法确保程序运行完全正常.
b) 通过异常处理,可以捕获运行时错误.
c) 逻辑错误编译时不能被发现,但是可以通过调试发现
d) 语法错误容易在运行时发现
19) 在ADO.NET应用程序中,通常要处理多条数据库记录,如果每次应用程序需要处理下一条记录时都返回数据库是不实际的,所以一个解决方案是使用( A )来完成数据的处理. (选择一项)
a)DataSet
b)ResultSet
c)DataReader
d)DataAdpter
20) 下面哪个关键字是引入命名空间(A). (选择一项)
a)using
b)public
c)enum
d)namespace
21) 在C#中关于以下的说法正确的是( A ).(选择一项)
a)构造方法与类名相同
b)构造方法没有返回值,所以定义时需要用void关键字
c)构造方法的调用方式和其它方法相同
d)构造方法不可以用参数
22)在类的方法中,要访问当前对象的成员变量,使用关键字(D).(选择一项)
a) using
b)ref
c)out
d)this
23) 在C#中,下列代码的运行结果是( C ).(选择一项)
int []age={1,2,3};
Console.WriteLine(age[2]);
int []name = age;//将age数组,赋值给name数组,它们两个就指向同一个数据 数组之间赋值相当于给数据起了一个别名
name[2] = 4;//1,2,4
Console.WriteLine(age[2]);
a)2
2
b)3
3
c)3
4
d) 2
4
24) 以下关于C#代码的说法正确的是( A).(选择一项)
for(int i=1;i<=3;i++){
switch(i){
case 1:
Console.Write(i.ToString());
case 2:
Console.Write((i*2).ToString());
case 3:
Console.Write((i*3).ToString());
}
}
a)程序将报告编译错误,提示Case标签不能贯穿到另一个标签,不能运行
b)运行是输出149
c)运行时输出123246369
d)运行时在屏幕上没有输出
25) 在ADO.NET中,下列代码的输出结果是( C ).(选择一项)
SqlConnection conn=new SqlConnection(“data
source=pub; uid=bill; pwd=12345; initial catalog=Northwind”);
Console.WriteLine(conn.ConnectionString);
a)pub
b)bill
c)data source=pub; uid=bill;pwd=12345;initial catalog=Northwind
d)Northwind
26) 在C#中,下列代码的运行结果是( B ).(选择一项)
class Test {
//打印的方法
static void ShowArrayInfo(int[] student)
{
for(int i=0;i<student.Length;i++)
{
Console.Write(student[i]++);//先打印后加加
Console.Write(““);
}
}
static void Main(){
//定义数组
int[] student =new int[]{1,2,3,4,5};
ShowArrayInfo(student);
Console.Write(“/n”);
ShowArrayInfo(student);
}
}
a)1 2 3 4 5
1 2 3 4 5
b)1 2 3 4 5
2 3 4 5 6
c)2 3 4 5 6
2 3 4 5 6
d)2 3 4 5 6
3 4 5 6 7
27) 命名空间的作用是( C )。
(选择一项)
a)初始化成员变量
b)实例化对象
c)解决命名冲突
d)为成员变量开避内存空间
28)值类型的数据存储在(B)中(选择一项)
a)堆
b)堆栈
c)队列
d)列表
29) (A)是将值类型转换为引用类型(选择一项)
a)装箱
b)折箱
c)实例化
d) 赋值
30)C#中数据类型可以分为(C)(选择一项)
a) 数字类型和字符串类型
b) 类类型和数字类型
c) 引用类型和值类型
d) 枚举类型和字符类型
31) 在一个有帮助按钮WinForm窗体,下’列关于该窗体的属性的推断正确的是( AC)。(选择两项)
a) HelpButton属性为True
b) ControlBox属性为False
c) MaximizeBox属性为False
d) Modal属性为True
32) 在C#中,下列代码的运行结果是(C )。(选择一项)
Static void Main(string[] args)
{
Console.WriteLine(“运行结果是:{0}”,”运行结果”);
}
a)运行结果
b)运行结果是:{0}
c)运行结果是:运行结果
d) 运行结果是运行结果
33) 在ADO.NET中,下列( C)组件用来获得只读只进数据。(选择一项)
a) DataSet
b) Command
c) DataReader
d) DataAdapter
34) 在C#中,( C )正确定义了一个数组。(选择一项)
a) int iArray=new int[10];
b) int[] iArray=new int;
c) int [] iArray=new int[10];
d) int[] iArray=new int(10);
35) 在.NET中,在窗体中显示一个消息框,并在点Yes按钮时关闭窗口,代码如下:
MessageBoxButtons buttons=MessageBoxButtons.YesNo;
DialogResult result;
// (1)此处填写正确的代码
if(result==DialogResult.Yes)
{
this.Close();
}
则您认为在(1)处最合适的代码应该是(A )。(选择一项)
a)result = MessageBox.Show(“是否退出”,”退出”, buttons);
b)result=MessageBox(“是否退出” ,bottons);
c)result=MessageBox.Show(“是否退出”);
d) result=MessageBox(buttons);
36) 在.NET中,程序员在代码中漏写了一个大括号,这属于(C)。(选择一项)
a)逻辑错误
b)运行时错误
c)语法错误
d)自定义错误
37)在C# 中,下列表达式计算正确的是(BC)。(选择二项)
a)10%3=3
b)10/3=3
c)10%3=1
d)10/3=1
38)在C# 中,程序使用( B)语句抛出系统异常或自定义异常。(选择一项)
a)run
b)throw
c)catch
d)Finally
39)运行如下的C#代码段将(B )。(选择一项)
Int a = 10;
string b = “10”;
Console.WriteLine (a+b);
a)输出:20
b)输出:1010
c)输出:10+10
d)编译报错,提示数据类型不匹配
40)在ADO.NET中,有以下四条代码,你认为它们最可能的编写顺序是(C )。
SqlConnection sqlCon = new SqlConnection();//1
sqlCon.Close(); //2
sqlCon.ConnectionString = “Server=.;DataBase=pubs;uid=sa;pwd=pwd”;//3
sqlCon.Open(); //4
a)1,2,3,4
d)1,3,2,4
c)1,3,4,2
d)4,3,2,1
41) 在WinForms中,为了防止用户无意关闭窗体,需要在(A)时间中编写代码,提示用户是否关闭窗体。(选择一项)
a)Closing()
b)Closed
c)Load
d)VisibleChanged
42) 如图,为了在某WinForms窗体主菜单的一个菜单项中显示所有打开的子窗体列表,需要设置该菜单项的(C)属性为true。(选择一项)
a)Enable
b)Checked
c)MdiwindowListItem
d)RadioCheck
43) 在.NET中,程序中的错误可以划分为以下三类,除了( D )。(选择一项)
a) 逻辑错误
b) 运行时错误
c) 语法错误
d) 自定义错误
44) 已知在数据库 Student 的stuInfo表中,有两行三列,则下列代码的运行结果是( A)。
SqlConnection sqlCon=new SqlConnection(“Server=.;DataBase=Student;integratedsecuriy=SSPI”);
sqlCon.Open();
SqlCommand.cmd = new SqlCommand(“select stuName from stuInfo”,sqlCon);
SqlDataReader reader = cmd.ExecuteReader();
Console.WriteLine(reader.FieldCount);(选择一项)//查询结果中的列有几个?
a) 1
b) 2
c) 3
d) 5
//Interval间隔时间
45) 已知WinForm窗体中有一个Timer控件,Interval属性设置为4分钟,当控件计时1分钟后,调用了控件的Stop方法,再过1分钟后,重新调用控件的strat方法, 则自该次调用Strar方法后,第一次触发控件的Tick 事件的时间间隔是(D)分钟。(选择一项)
a) 1
b) 2
c) 3
d) 4
46) 某程序员在D盘根目录下创建了一个名为student.mdb的ACCESS数据库,在数据库中建立一个名为StudentINfo的学生信息表,为了访问学生信息中的数据,程序员编写了以下代码,你认为运行到第(D )条代码时,将会出错。(选择一项)
oleDbConnection oleCon = new
OleDbConnection(“Provider =Microsoft.Jet.OLEDB.4.0;Data
Source=D://Student.mdb”); // (1)
OleDBDataAdapter da =new OleDBDataAdapter(“Select * from studentInfo”,oleCon); //(2)
DataSet ds; //空对象 没将数据集实例化,则在下一句时会出错//(3)
Da.Fill(ds,”studentInfo”); //(4)
oleCon.Close();
a)1
b)2
c)3
d)4
e)5
47) 在C#中,下列代码的运行结果是( D )。(选择一项)
int x = 6;
switch (x)
{
case 6:
case 7:
Console.writeLine(“今天是周末”)l
Break;
case 1:
Console.writeLine(“今天是星期一”)l
Break;
case 2:
Console.writeLine(“今天是星期二”)l
Break;
default :
Console.writeLine(“你完成任务了吗?”);
Break;
}
a) 没有输出
b) 今天是星期一
c) 今天是星期二
d) 今天是周末
48) 在WinForms窗体中有一名为txtUser的TextBox 的控件,其MaxLengths属性为5,该控件的当前文本为”网络编程”,若再执行代码:txtUser.AppendText(“高手”);则控件的文本为:(C )。(选择一项)
a)网络编程
b)网络编程高
c)网络编程高手
d)出现运行是错误
49) 定义静态方法要使用(C)关键字
a)public
b)private
c)static
d)enum
50) 某超市管理系统的数据库中有一个商品信息表,若想向数据表中添加一条商品信息,应使用Command对象的( D )方法. (选择一项)
A) ExecuteScalar()
B) ExecuteReader()
C) ExecuteQuery()
D) ExecuteNonQuery()
51) 在WinForm中,为了禁用一个名为btnOpen的Button控件,下列做法正确的是( B )。(选择一项)
a)btnOpen.Enable = true;
b)btnOpen.Enable = false;
c)btnOpen.Visible = true;
d)btnOpen.Visible = false;
52) 下列关于C#的异常处理的说法,错误的是( A)。(选项一项)
a)try块必须跟catch块组合使用,不能单独使用
try{}
catch{}
try{}
catch{}
finally{}
try{}
finally{}
b)一个try块可以跟随多个catch块
c)使用throw语句既可以引发系统异常,也可以引发由开发人员创建的自定义异常
d)在try...catch…finally块中,即便开发人员编写强制逻辑代码,也不能跳出finally块的执行
53) .NET构架中被用来访问数据库数据的组件集合称为: (B)
A. ADO
B. ADO.NET
C. COM+
D. Data Service.NET
54) 在ADO.NET 中,执行数据库的修改,则至少需要创建( A )并设置它们的属性,调用合适的方法:
A. 一个Connection 对象和一个Command 对象 连接必须有, 1:适配器+数据集
B. 一个Connection 对象和DataSet 对象 2:命令对象+阅读器
C. 一个Command 对象和一个DataSet 对象
D. 一个Command 对象和一个DataAdapter 对象
55) 在ADO.NET中,为了确保DataAdapter对象能够正确地将数据从数据源填充到DataSet中,则必须事先设置好DataAdapter对象的下列哪个Command属性( D )
A) Delete Command 先查询了才能填充
B) Update Command
C) Insert Command
D) Select Command
56) 关于ref关键字说法正确的是:( )
A) ref关键字在方法定义时不用显示使用
B) 传递给ref参数的参数必须在调用方法前初始化
C) 传递给ref参数的参数不能在调用方法前初始化
D) 以上说法全部错误
57) 在使用ADO.NET编写连接到SQL Server 2005数据库的应用程序时,从提高性能的角度考虑,应创建(B)类的对象, 并调用其Open方法连接到数据库:
A) OleDbConnection
B) SqlConnection
C) OdbcConnection
D) Connection
58) 在使用ADO.NET 设计数据库应用程序时,可通过设置Connection 对象的( A )属性来指定连接到数据库时的用户和密码信息.
A. ConnectionString //连接字符串
B. DataSource
C. UserInformation
D. Provider
59) 在WinForm窗体中,放置了一个PictureBox 控件PictureBox1,在设置PictureBox1控件的Image 属性后,当图片与控件的大小不一致时,可
以通过如下代码(A)使PictureBox1控件的大小与图片大小保持一致。(选择一项)
A.this.PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize;
B.this.PictureBox1.SizeMode = PictureBoxSizeMode.Normal;
C.this.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
D.this.PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage;
60) 在.NET的WinForms程序中,可以使用(C)对象来连接和访问数据库。(选择一项)
A.MDI
B.JIT
C.ADO.NET
D.System.ADO
61) 在WinForm应用程序中,可以通过以下(C )方法使一个窗体成为MDI窗体。(选择一项)
A.改变窗体的标题信息
B.在工程的选项中设置启动窗体
C.设置窗体的IsMdiContainer属性
D.设置窗体的ImeMode属性
62) 在以下WinForms窗体的下方使用了( D)控件.(造择一项)
A.进度条
B.树型视图
C.滚动条
D.状态栏
63) (A) 方法执行指定为Command对象的命令文本的SQL语句,并返回受SQL语句影响或检索的行数。
A ) ExecuteNonQuery
B) ExecuteReader
C)ExecuteQuery
D) ExecuteScalar
64) 下列 ()是ADO.NET的两个主要组件(C )。 (请选择一项)
a)Command和DataAdapter
b)DataSet和Data Table
c).NET数据提供程序和DataSet
d).NET数据提供和DataAdapter
65) 关于方法重载,下列说法正确的是(B)
a)如果多个类中有多个同名方法,而参数类型或者个数不同,就是重载
b)一个类中有多个同名方法,而参数个数或参数类型不同,就是重载
c)一个类中有多个同名方法,返回值的类型不同就构成了重载
d) 以上都是错误的
66) 在ADO.NET中,SqlConnection 类所在的命名空间是( D)。 (选择一项)
a)System
b)System.Data
c)System.Data.OleDb
d)System.Data.SqlClient
67) 在WinForms 中,下列代码的运行结果是( A )。 (选择一项)
DataSet ds = new Dataset(“Books”);//参数是自定义的一个名称
Console.Writeline(ds.DataSetName);//数据集名称
a)Books
b)Student
c)ds
d)ds.DataSetName
68) 使用( C )对象可以用只读的方式快速访问数据库中的数据(选择一项)
A) DataAdapter //适配器 可读可写
B) DataSet
C) DataReader //阅读器 dr.read()
D) Connection
69) 在.NET的控件中,Panel、GroupBox、TabControl等分组控件,有时候也被称之为
(A)。(选择一项)
A.容器控件 //在它上面还可以放置其它控件。称为容器
B.组合控件
C.排列控件
D.基类控件
70) 以下的C#程序代码:
String A="ABC";
Console.WriteLine(A.Length);
程序运行时在控制台打印输出值为( C )。(选择一项)
A.ABC
B.0
C.3
D.不打印任何信息
71) 按照C#命名规范,窗体的命名的前缀最好为(B )。(选择一项)
A.win
B.frm //Form
C.form1
D.f
72) 以下C#程序代码:
int A=3;
int B=4
Console.WriteLine(A+B);
因为第二行代码少写了一个分号,程序运行时将( A)。(选择一项)
A.产生语法错误
B.产主语义错误
C.中断
D.正常运行
73) .在C# 中,代码运行后,变量c的值是( C)(选择一项)
Int a = 15,b = 10;
Float c=(float)a/b; 15.000/10
A.0
B.1
C.1.5
D.5
74) 在C#中,下列代码运行后,变量Max的值是( C )(选择一项)
Int a=5,b=10,c=15,Max=0;
Max = a>b?a:b; //10
Max = c<Max?c:Max; (选择一项) // 15<10 ?15:10
A.0
B.5
C.10
D.15
75)下面(B)是合法的变量名. (选择一项)
A) int
B) _Csharp
C) 99$
D) Main
76) 下面(C )是C#中的文档注释(选择一项)
A) //注释
B) /* 注释 */
C) ///注释
D) /**注释*/
77) 下面这段代码的输出是( A ) (选择一项)
Int year =2046;
If(year %2==0)
{
Console.WriteLine(“进入if”);
}
Else if(year%3==0)
{
Console.WritleLine(“进入了else if”);
}
Else
{
Console.WritleLine(“进入了else”);
}
Console.ReadLine();
A)进入了if
B)进入了if
进入了else
C)进入了else
D)进入了if
进入了else if
进入了else
78) 运行下面一段代码,将输出( C ) (选择一项)
Int r=3;
Float pie=3.14f;
Console.WritleLine(“圆的周长为{0}”,2*pie*r);
Console.ReadLine();
A)圆的周长为2
B)圆的周长为3.14
C)圆的周长为18.84
D)运行出错
79) 运行下面这段代码的结果为( D ) (选择一项)
String day = “星期一”;
Switch(day)
{
Case “星期一”:
Case “星期三”:
Case “星期五”:
Console.WritleLine(“去上课”);
Case “星期六”:
Console.WritleLine(“聚餐”);
Case “星期日”:
Console.WritleLine(“逛街”);
Default:
Console.WritleLine(“睡觉”);
}
Console.ReadLine();
A)去上课
B)去上课
聚餐
逛街
睡觉
C)什么都不输出
D)编译出错
80) 以下一维数组的初始化正确的是( C) (选择一项)
A) int array[] = new int[5];
B) int[] array = new int[5]{0,1,2};
C) int[] array = {0,1,2,3,4};
D) int array[] = new int[5]{0,1,2,3,4};
81) 分析下面这段代码,执行后count的值为( B ) (选择一项)
Int I,j;
Int count=0;
For(i=0;i<4;i++) //0-3 4次
{
For(j=0;j<6;j++) // 0-5 6次
{
Count++;
}
}
A)15;
B)24
C)20
D)21
82) DataGridView控件的每个列(C )属性用于指定绑定的数据集中数据表的列名 (选择一项)
A) Width
B) HeaderText
C) DataPropertyName
D) Visible
83) 若想打印如下图案,下面这段代码划线处应分别填入( D ) (选择一项)
***
***
***
Int I,j;
I=1;
While(i<___)
{
For(j=0;j<_;j++)
{
Console.WriteLine(“*”);
}
Console.WriteLine();
I++;
}
A) 3 3;
B) 4 4
C) 3 4
D)4 3
84) 从数据库读取记录我们不可能用到的方法是( A ). (选择一项)
A) ExecuteNonQuery
B) ExecuteReader
C) ExecuteScalar
D) Read
85) 有一个浮点型变量double money=66.6,下面( BD )语句可以将它转换为一个整形变量.(选择两项)
A) int pay = money;
B) int pay = (int)money;
C) int pay = int.Parse(money) //专用于将字符串转为数字 .ToString()
D) int pay = Convert.ToInt32(money);//最强的转换。可以实现几乎任何类型的转换
86) 以下代码运行后显示的结果是( C )
String myGrade = “S1”;
String yourGrade = “S1”;
Console.WriteLine(myGrade==yourGrade);
Console.WriteLine(myGrade.Equals(yourGrade));
A)True
False
B)False
True
C)True
True
D)False
False
87) DataGridView中的每个字段都与( B )的一个列绑定. (选择一项)
A)DataSet
B)DataTable
C)DataFiled
D)Database
88) DataReader对象的( A )方法用于读取每一行记当(选择一项)
A)Read
B)Close
C)Fill
D)Open
89) DataAdapter对象的(B)方法用于填充数据集 (选择一项)
A) Close
B) Fill
C) Read
D) Open
90) ( AC )控件可以将其他控件分组(选两项)
A) GroupBox
B) ComboBox
C) Panel
D) TextBox
91) 用户单击消息框(MessageBox)的按钮时的返回值是( D )类型的。(选择一项)
A) DialogValue
B) DialogBox
C) MessageResult
D) DialogResult
92) 通过( C )可以设置消息框中显示的按钮(选择一项)
A) Button
B) DialogButton
C) MessageBoxButtons
D) MessageBoxIcon
93)图中这个窗体中,不包含( C )控件(选择一项)
A) TextBox
B) ComboBox
C) Label
D) Button
94) 图4.32实现一个选择学历的功能,窗体中使用了(BD )控件.(选择两项)
A)Panel
B)GroupBox
C)MenuStrip
D)RadioButton
95) ( A )控件用于显示多个选项卡,每个选项卡均可包含图片和其他控件。(选择一项)
A) TabControl
B) GroupBox
C) ImageList
D) ListBox
96) ( C )是多文档界面应用程序(选择一项)
A) 记事本
B) Microsoft Word
C) Microsoft Excel
D) Windows资源管理器
97) 下面( C )可以显示一个模式窗体(选择一项)
A) Application.Run(new Form1())
B) form1.Show()
C) form1.ShowDialog();
D) MessageBox.Show()
98) 记时器Timer控件的Interval 属性可以设置定时发生的事件的间隔,它的单位是( B ) (选择一项)
A) 秒
B) 毫秒
C) 微妙
D) 分
99) ADO.NET 的两个主要组件是( B ) (选择一项)
A) Connection 和 Command
B) DataSet 和.Net Framework数据提供程序
C) .Net Framework 数据提供程序和DataAdapter
D) DataAdapter和DataSet
100) 如果想建立应用程序与数据库的连接,应该使用( A )对象(选择一项)
A) Connection
B) Command
C) DataReader
D) DataAdapter