资源描述
一、选择题:
1、在 Visual Studio窗口中,在__________窗口中可以观察当前工程的类与类型的层次信息。
2、以下哪个类型的对象是 ADO 在非连接模式下处理数据内容的主要对象?
3、应用 ADO 访问数据时,Connection 对象的连接字符串中 Initial Catalog 子串的含义是:
A.Connection 对象连接到的数据库的名称 B.Connection 对象的身份验证信息
C.Connection 对象的最大连接时间 D.Connection 对象使用的缓存大小
4、在 Visual Studio 中, 新建 DataAdapter 对象后, 可使用_____ __来配置其属性
5、使用 Visual Studio 的“新建 C# 工程〞创立一个名为“SimpleForm〞的 Windows 表单应用程序,那么在生成______文件中可设置该程序集的 Copyright?Trademark 等属性信息。
6、在某 Windows Form 应用程序中,主窗口类为 Form1,程序入口为静态方法 From1.Main。如下所示:
//其他代码 static void Main()
//在此添加适宜代码 } } 那么在 Main 方法中翻开主窗口的正确代码是: A
A.Application.Run(new Form1()); B.Application.Open(new Form1());
C.(new Form1()).Open(); D.(new Form1()).Run();
7、在 C#中,预处理器指令#region 与#endregion 的作用是: B
A.注释#region 与#endregion 之间的代码
B.为 Code Editor 定义一段可折叠代码区
C.#region 与#endregion 之间的代码在 Debug 版本中不参加编译
D.#region 与#endregion 之间的代码在 Release 版本中不参加编译
8、用鼠标右击一个控件时出现的菜单一般称为: C
9、变量 open 引用一个 Open 对象。为检查用户在退出对话框时是否单击了“翻开〞按钮,应检查 open()的返回值是否等于_______;
10、C#程序中,为使变量 myForm 引用的窗体对象显示为对话框,必须:
A.使用 myForm.ShowDailog 方法显示对话框
B.将 myForm 对象的 isDialog 属性设为 true
C.将 myForm 对象的 FormBorderStyle 枚举属性设置为 FixedDialog
D.将变量 myForm 改为引用 System.Windows.Dialog 类的对象
11、Windows Form 应用程序中,要求下压按钮控件Button1 有以下特性:正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高。那么,在程序中,属性 Button1.FlatStyle 的值应设定为:
A. Flat B. Popup C. Standard D. System
12、ADO 使用_______命名空间的类访问 SQL Server 数据库中的数据。
13、用 翻开一个文件时,可用 参数控制:
A.对文件执行覆盖?创立?翻开等选项中的哪些操作;
B.对文件进展只读?只写还是读/写
C.其他 对同一个文件所具有的访问类型
14、在使用 ADO 编写连接到 SQL Server 2021 数据库的应用程序时,从提高性能角度考虑,应创立______类的对象,并调用其 Open 方法连接到数据库。
15、在 ADO 中,DataAdapter 对象以下哪个 Command 属性用于将 DataSet 中的新增记录保存到数据源?
A.Select Command B.Insert Command
C.Update Command D.Delete Command
16、要退出应用程序的执行,应执行以下的____语句。
A.Aapplication.Exit(); B.Aapplication.Exit;
C.Aapplication.Close(); D.Aapplication.Close;
17、要使窗体刚运行时,显示在屏幕的中央,应设置窗体的_________属性。
18、要使文本框控件能够显示多行而且能够自动换行,应设置它的_________属性。
Multline B.Multlineh与 WordWrap
C.PassWordChar 与 Multline D.MaxLength与 WordWrap
19、在使用 RichTextBox 控件进展文档编辑时,如果希望知道文档上次设置该控件的内容后,文本框中内容是否改变,可使用它的_________属性。
20、要使复选框控件能够显示出三种状态,应首先设置它的_________属性。
21、 Open 控件的 Filter 属性值为“文本文件(*.txt)|*.txt|图形文件 (*.BMP*.JPG)|*.BMP;*.JPG|*.RTF 文件(*.RTF)|*.RTF〞 ,假设希望程序运行时,翻开对话框的文件过滤器中显示的文件类型为 RTF 文件(*.RTF),应把它的 FilterIndex 属性值设置为 ___________。
22、在设计菜单时,假设希望某个菜单项前面有一个“√〞号,应把该菜单项的___________ 属性设置为 true。
23、在 GDI+的所有类中,___________类是核心,在绘制任何图形之前,一定要先用它创立一个对象。
24、以下各选项中,哪个选项不是 Framework的组成局部( )。
B.公共语言标准与 Framework类库
25、下面对公共语言运行时说法正确的选项是( )。
B.提供多种效劳,但不包括垃圾收集器
C.是 Framework的核心组件 D.及 Framework无关
26、以下关于命名空间描述正确的选项是( )。
A.命名空间就是 Framework中相关类与命名空间的集合
B.System.Windows.Forms 命名空间定义了包含工具箱中的控件及窗体自身的类
27、下面对程序集与命名空间说法正确的选项是( )。
B.一个程序集可以引用多个命名空间,一个命名空间也可以保存在多个程序集中
C.一个程序集可以引用多个命名空间,但一个命名空间只能保存在一个程序集中
D.一个命名空间可以保存在多个程序集中,命名空间无法包含另外的命名空间
28、动态创立一个 button控件实例的代码是()
A.Button button;
button=new Button();
button.Location=new Point(200,200);
button.Size=new Size(75,23);
button.Text=“Ok〞;
button.Show();
B.Button button;
button=new Button();
button.Location=new Point();
button.Size=new Size();
button.Text=“Ok〞;
this.Controls.Add(button);
C.Button button;
button=new Button();
button.Location=new Point();
button.Size=new Size();
button.Text=“Ok〞;
button.Show();
D.Button button;
button=new Button();
button.Location=new Point(200,200);
button.Size=new Size(75,23);
button.Text=“Ok〞;
this.Controls.Add(button);
29、关于 Timer 控件,以下说法正确的选项是( )
A.Timer 控件是用来显示系统当前时间
B.Timer 控件的作用是在规定的时间内触发 Tick控件
C.Timer 控件的 Interval 属性值的单位是秒
D.Timer 控件实例不能动态创立
30、关于滚动控件,以下说法正确的选项是()
A.Value属性表示滚动块在滚动条中的位置,它的值可以为整数也可以为小数
C.SmallChange属性表示当用户在滚动区域中单击或使用 Page Up/Page Down时,缩影图 位置发生的改变
D.不能自动滚动窗体的内容,需要添加代码才可以
31、关于 MainMenu控件,以下说法正确的选项是()
32、TabControl 控件的 属性可以添加与删除选项卡。
33、MDI应用程序中只有窗体之间的关系描述正确的选项是()
A.MDI应用程序中只有一个窗体可以指定为 MDI子窗体
B.MDI子窗体必须出现在 MDI父窗体的可视区域内
C.标准窗体必须出现在 MDI父窗体的可视区域内
34、对设置 MDI父窗体说法正确的选项是()
A.调用指定为 MDI父窗体的 Show 方法,使用参数的枚举值 Modi-MdiParent
“工程属性〞对话框,设置 IsMdiApplication 属性为 True,然后设置用作父窗体的 窗体的窗体启动对象
C.对于指定为 MDI父窗体的窗体,设置 MdiParent 属性为 True
D.创立一个 MDI应用程序工程,而不是创立 Windows 窗体应用程序工程
35、以下说法中对 Mdi 子窗体描述正确的选项是()
A.设置 MdiChildForm属性为 true
B.设置 MdiChild属性为 false
C.设置 MdiChild属性为 true
D.设置 MDI子窗体 MDiParent 属性引用父窗体实例
36、下面选项中对菜单合并描述正确的选项是()
A.MerageType与 MerageOrder 属性用来配置菜单合并的方式
B.当 MDI父窗体的菜单合并时,不可以删除父窗体上的菜单
C.合并菜单时,无法替换多余的菜单
37、下面关于 MDI子窗体的布局正确的选项是()
A.Icon,List,Report
B.Icon,Minimize,mdiparent
C.ArrangeIcons,Cascade,Selection
D.ArrangeIcons,Casecade,TileHorizontal,TileVeritical
38、下面对创立上下文菜单说法正确的选项是()
A.把 Mainmenu控件放置到窗体中即可
B.创立一个 ContextMenu控件实例,然后编辑菜单项来创立快捷菜单
C.在模态对话框中创立一个 ListBox 控件实例,然后显示模态对话框
D.创立一个 MainMenu属性为 True
39、下面对 MDI应用程序中子窗体布局说法正确的选项是()
A.C#中无法对子窗体布局
C.布局菜单只能放在父窗体上,并且使用 LayOutMdi 方法
D.使用 MdiLayout 方法,布局菜单在哪里无所谓
40、下面对 FontDialog控件说法正确的选项是()
B.使用 FontDialog必须在窗体中添加控件
C.完全可以不添加控件,使用代码来完成它的添加
D.显示 FontDialog时,使用 Show()方法
二、多项选择题:
1、关于C#语言的根本语法,以下哪些说法是正确的?
A.C#语言使用 using 关键字来引用 预定义的名字空间;
B.用 C#编写的程序中,Main 函数是唯一允许的全局函数;
C.C#语言中使用的名称严格区分大小写;
D.C#中一条语句必须写在一行内;
2、在以下函数完毕后,马上从内存中去除的是_________.
void Test(){
int i = 100;
int[] arr = new int[10];
string str = "this is a test";
object r = new System.DateTime(1999,9,9);
A.变量 i
B.数组变量 arr
C.变量 str 所引用的字符串对象
D.变量 r 所引用的 DataTime 对象
3、C#可以采用以下哪些技术来进展对象内部数据的隐藏?
D.装箱(boxing)与拆箱(Unboxing)技术
4、当创立一个新类时,该类将从 System.Object 基类继承以下哪些方法?
5、访问数据库时,使用连接模式同使用非连接模式相比有何优点?
6、关于程序集,以下正确的说法是:
A.程序集可以由一个文件组成,也可由多个文件组成
7、以下数组初始化语句哪些是正确的?
A.int[] nums = new int[]{0,1,2,3,4};
B.int[] nums2 ={0,1,2,3,4,5};
C.int[][] num_1 ={new int[]{0,1},new int[]{0,1,2},new int[]{0,1,2,3}};
D.int[][] num_2 = {{0,1},{0,1,2},{0,1,2,3}};
8、以下哪些调试操作不是使用 Visual C# 断点的有效方法?
A.当代码段第五次执行时,在某一特定行停顿执行这局部代码
B.当特定的变量值改变时,停顿执行
C.当指定的代码行执行的次数是 25 的倍数时,停顿执行这局部代码
D.当特定的表达式求值计算停顿时,在某一特定行停顿执行这局部代码
E.当变量的值改变为 False时,停顿执行
9、使用 Visual Studio 来创立一个基于 Windows 的应用程序 TimeSheetApp。此应用程序的 main 窗体包括几个及应用程序的设置相对应的复选框。其中一个 CheckBox 控件名为 overtimeCheckBox,该控件的标题是“Overtime〞。必须允许用户按 ALT+A 来选择或去除复选框。你该采用哪两个操作?
A.设置 overtimeCheckBox.AutoCheck为 True
B.设置 overtimeCheckBox.AutoCheck为 False
C.设置 overtimeCheckBox.Tag 为“&Overtime〞
D.设置 overtimeCheckBox.CheckState为 Unchecked
E.设置 overtimeCheckBox.CheckState为 Indeterminate
F.设置 overtimeCheckBox.Apperance 为 Button
G.设置 overtimeCheckBox.Apperance为 Normal
H.设置 overtimeCheckBox.Text 为“&Overtime〞
10、使用以下哪种方法可以减小一个 ArrayList 对象的容量?
A.调用 Remove 方法
B.调用 Clear 方法
C.调用 TrimToSize 方法
D.设置 Capacity 属性
二、填空题:
1、能用foreach遍历访问的对象需要实现 ___ IEnumerable 接口或声明__ GetEnumerator ___方法的类型。
三、简单题:
1、ADO中常用的对象有哪些?分别描述一下。
答:
Connection 数据库连接对象
Command 数据库命令
DataReader 数据读取器
DataSet 数据集
2、中读写数据库需要用到那些类?他们的作用?
答:
DataSet:数据存储器。
DataCommand:执行语句命令。
DataAdapter:数据的集合,用于填充。
3、SQL SERVER效劳器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的效劳器时间,请使用一句SQL语句获得最后更新的事务号
答:
Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)
4、写出一条Sql语句:取出表A中第31到第40记录〔SQL Server以自动增长的ID作为主键,注意:ID可能不是连续的。〕
答:
解1: select top 10 * from A where id not in (select top 30 id from A)
解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)
5、在〔C#〕中如何取消一个窗体的关闭。
答:
在form_Closing〔〕方法中写入e.Cancel=true。例如:
private void Form1_Closing(object sender, SystemponentModel.CancelEventArgs e)
e.Cancel=true;
6、在〔C# 〕中,Appplication.Exit 与 Form.Close有什么不同?
答:
是退出整个应用程序;
是关闭某一个form窗体。
7、请说出连接环境下与非连接环境下访问数据库的区别及优缺点,并各列举一个适合的情况说明。
答:
连接环境:
1〕DataReader表示数据库记录,但是 DataReader一次只能表示一条数据库记录;
2〕必须调用Read()方法来从后台数据库的表获取每一条记录到内存,当再次调用Read()方法时,前面获取的记录就丧失了;
3〕DataReader并不能把数据库查询的结果当成一个整体来处理;
4〕DataReader 在工作的时候,必须维持对数据库的连接。
优点: 功能简单、速度快,可以用在单纯显示的地方。
缺点: 只能单向的读取数据库中的数据。
非连接环境:
1〕DataSet 表示一组非连接的记录;
2〕DataSet 可以在效劳器内存中表示数据库查询的结果;
3〕DataSet 提供了内存驻留表示形式,所以可以把数据库查询的结果作为一个整体来处理;
4〕当DataSet被填充了记录后,就可以把它及后台数据源的连接断开。
优点: 提高了效劳器的性能;DataSet功能强大,带有查询、修改、排序、添加等功能。
缺点: 对内存与时间的消耗都比拟大。
8、填入下面空白处概念,并简单解释?
答:
用户界面
DataView
DataSet
DataTable
DataReader
DataAdapter
Command
Conection
数据库
解释:
DataView:表示用于排序、筛选、搜索、编辑与导航的 DataTable 的可绑定数据的自定义视图。
DataSet:ADO的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。
DataTable:一个临时保存数据的网格虚拟表(表示内存中数据的一个表。)。
DataReader:一个简单的数据集,用于从数据源中检索只读数据集,常用于检索大量数据。
DataReader:可通过Command对象的ExecuteReader方法从数据源中检索数据来创立。
Command:使用存储查询与带有参数的存储过程。
Connection:对象代表及数据源进展的唯一会话。
四、编程题:
1、Employee 职工表
字段 数据类型 描述
EmployeeCode int 职工编号
Name char (20) 姓名
Address char (35) 地址
int id=(int)textBox1.Text;
string name=textBox2.Text;
string address=textBox3.Text;
SqlCommand command=new SqlCommand();
command.Connection=con;
mandText= "insert into Employee values (‘"+id+"’,'"+name+"','"+address+"');
int row=command.ExecuteNonQuery();
if(row>0)
MessageBox.Show("插入成功");
else MessageBox.Show("插入失败");
请将上述代码用中的SQL语句执行局部用命令参数的方式改写。
答:
commandmandText= "insert into Employee values (@id,@name,@address)";
command.Parameters.Add("@id",SqlDbType.Int);
command.Parameters.Add("@name",SqlDbType.Char,20);
command.Parameters.Add("@address",SqlDbType.Char,35);
command.Prepare();
command.Parameters["@id"].Value=id;
command.Parameters["@name"].Value=name;
command.Parameters["@address"].Value=address;
int row=command.ExecuteNonQuery();
2、请编程遍历界面上所有TextBox控件并给它赋值为string.Empty?
答:
ntrol control in this.Controls){
if (control is System.Windows.Forms.TextBox){
System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox) control ;
tb.Text = String.Empty ;
3、 Products 产品表
字段 数据类型 描述
ProductId int 产品编号
ProductName char(20) 产品名称
ProductRate money 产品价格
(1) 利用 SqlConnection,SqlCommand,SqlDataReader 等打印整张表的数据
(2) 利用 SqlConnection,SqlAdapter,DataSet,DataTable,DataView 等打印价格在 10 元以下的产品信息.(要求通过DataView过滤的方式查出信息)
答:1)
using System;
using System.Data.SqlClient;
class Class1{
static void Main(string[] args){
SqlConnection con=new SqlConnection();
;database=northwind;integrated security=true;Connection timeout=5";
SqlCommand command=new SqlCommand();
command.Connection=con;
commandmandText="select ProductId,ProductName,ProductRate from Products";
try{
con.Open();
SqlDataReader reader=command.ExecuteReader();
while(reader.Read()){
int id=(int)reader[0];
string name=(string)reader[1];
decimal price=(decimal)reader[2];
Console.WriteLine(id+" "+name+" "+price);
} catch(Exception e){
Console.WriteLine(e.ToString());
} finally{
con.Close();
Console.Read();
2)
using System;
using System.Data.SqlClient;
class Class1{
static void Main(string[] args){
SqlConnection con=new SqlConnection("server=127.0.0.1;database=pubs;integrated security=true;");
try{
con.Open();
SqlDataAdapter da=new SqlDataAdapter("select ProductId,ProductName,ProductRate from Products",con);
DataSet ds=new DataSet();
da.Fill(ds,"Products");
DataTable dt=ds.Tables["Products"];
DataView view=new DataView(); //新建视图
view.Table=dt;
string str="";
view.RowFilter="ProductRate<10"; //设置 DataView的筛选条件
for(int i=0;i<view.Count;i++){
str="";
for(int j=0;j<view.Table.Columns.Count;j++){
str=str+view[i][j]+" "; //获取 DataView中的第 i 行的第 j 列数据
Console.WriteLine(str);
} catch(Exception ee){
Console.WriteLine(ee.Message);
} finally{
con.Close();
第 18 页
展开阅读全文