|
东 北 大 学 继 续 教 育 学 院
3 K8 y" e* C \$ [8 H
7 V0 m8 |9 n- N8 X+ l- m" S Web程序设计 试 卷(作业考核 线上) A 卷' q) ` w. Q$ N" y$ ^( P
学习中心:
( o) E* [6 z. x6 R& x e% x; W院校学号: 姓 名: - u" m7 W6 q$ c4 F! F8 ]8 F
( b2 W& {' C! @5 C% U7 S
(共 7 页) ( [( v2 F8 D- X, s, y7 p
总分 题号 一 二 三 四 五 六 七 八 九 十
8 h |. B" C; ]/ ]; X8 z 得分 / t( [" {7 y# p: M I9 p
5 N7 @' _ ]: B+ X一、选择题(请将所有正确资料写到答题卡中,每小题3分,共60分)
8 I3 E @8 m2 @. s+ k4 D答
3 n; w1 W; S$ E& o8 |; f题6 x# W e: R" X: p( [# B+ x
卡 题号 1 2 3 4 5 6 7 8 9 10
: F% i& o2 l% w2 a 资料
" X. z% A7 W- R 题号 11 12 13 14 15 16 17 18 19 20
6 q- `: O7 m/ e0 o6 }/ \8 `2 N: B( q 资料 3 u1 `' E! Z- B$ ^
+ i4 t f& N2 t3 }
1 . 目前,Microsoft .NET Framework 的发行包中包含以下.NET 数据提供程序/ w; `. s0 m+ f% l
A. SQL Server .NET 数据提供程序
" P5 A, E( [$ ^( m( `2 fB. OLE DB .NET 数据提供程序
/ u$ x* h& ^. V2 EC. ODBC .NET 数据提供程序+ z" Y$ b5 T3 S; C& t# c$ p; y; v
D. XML .NET 数据提供程序5 u$ [1 {- `0 q" n. e
2 . 用鼠标右击一个控件时出现的菜单一般称为:1 w5 ~4 d3 M3 o/ Q! r, ^- ^: ^
A. 主菜单! U+ \& a" D& ], d4 H& }
B. 菜单项5 E5 n" i' Y) h3 |3 I+ M% L- p9 C
C. 快捷菜单
; ~5 d) a/ {) |( c* O% VD. 子菜单
- ~" n- }+ b% w/ R: e' ~0 k! A6 ]7 N 3 . 如果要设置TextBox为只读的,应设置:
4 B1 r5 c8 V) Q, yA. ReadOnly="true"
7 o2 w. X* L* l. B, XB. ReadOnly="false"
5 j0 H" n2 ? s- f8 l9 aC. Enabled="true": { A! Z! C9 V2 b a; l7 g, B
D. Enabled="false"$ S' Z9 N) |. ]2 g' c9 F7 |3 s0 A |
4 . 为创建在SQL Server中执行Select 语句的Command 对象,可先建立到SQL Server数据库的连接,然后使用连接对象的_______方法创建SqlCommand 对象.4 E% I) p. V' y z5 p
A. Open' V i/ C, s/ p0 f% g& l J
B. OpenSQL
1 a" b9 o4 {- ]1 [" J0 sC. CreateCommand x# l4 N A# [4 g3 S" y( M( v
D. CreateSQL- L, F5 [' C4 I9 P( ^
5 . 网页中的表单是()。9 i; V& J0 x! v9 V4 i& A
A. 一个容器类对象
. m, {4 c0 y7 N% T5 dB. 一个图像对象/ A5 }, W3 N1 m4 y$ ^/ u% ^- d
C. 一个子网页
6 T# c' G+ ]1 d. o" \D. 一个对话框/ K# K2 h7 e8 g9 l4 m! f
6 . SQL Server 的Windows 身份验证机制是指,当网络用户尝试连接到SQL Server 数据库时,9 L8 B T. o( m& N* n
A. Windows 获取用户输入的用户和密码,并提交给SQL Server 进行身份验证,并决定用户的数据库访问权限
5 ^+ i! a( }( H/ w# h" EB. SQL Server 根据用户输入的用户和密码,提交给Windows 进行身份验证,并决定用户的数据库访问权限! n( ?; C. V/ c" j1 O4 Z. N* k
C. SQL Server 根据已在Windows 网络中登录的用户的网络安全属性,对用户身份进行验证,并决定用户的数据库访问权限
1 B9 W& X) \( E1 JD. 登录到本地Windows 的用户均可无限制访问SQL Server 数据库
6 E( u, M: p+ H: b1 |/ i 7 . 分析下列程序:
6 p5 @8 L" {; s1 o+ k* Jpublic class class42 [0 C; e) s7 N0 Y# D' [
{
4 s, D! W9 @3 v# R, `6 Fprivate string _sData = "";
7 E1 x+ [7 \' K, Hpublic string sData{set{_sData = value;}}
2 j! n# p; y* X+ }& T i}
' B) [) v5 D* i) e3 l4 s2 N- @ I1 _在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的?
9 }1 q( L2 k5 ?, j n4 ?A. obj.sData = "It is funny!";2 p( f+ h1 i0 L( q
B. Console.WriteLine(obj.sData);5 Y3 g3 F4 m! G1 ] C% M o& C
C. obj._sData = 100;
# b2 j+ k- v7 m* m) B; DD. obj.set(obj.sData);/ H: M4 h/ g9 Z1 N& W w
8 . 如果需要确保用户输入大于30的值,应该使用( )验证控件。6 W+ _" u& ]+ ?+ C8 V5 K3 [
A. RequireFieldValidator
. g6 v# \: q6 J0 \: p+ T5 j8 A& yB. CompareValidator0 \# q/ U M$ x
C. RangeValidator" R3 Y2 C. `0 C4 x" M
D. RegularExpressionValidator
2 R7 w" }4 n$ O. K- D 9 . 已知ds1,ds2 分别代表两个不同的DataSet 对象.其中ds1 已包含名为"Customer"的DataTable 对象,且该DataTable 对象被变量dt_Customer 引用.已知dt_Customer表中有100 条记录,则执行下列语句后,新的数据表new_dt_Customer 中包含______条记录.8 F9 h% X# Z9 s& O& K& x; w
DataTable new_dt_Customer = dt_Customer.Copy();7 | V' V6 [) v+ R# T: U6 T
A. 03 W# C% j* |# F$ g+ t: |
B. 100
5 _; Y+ e6 s/ v+ OC. 2005 x k9 F' ^) M. `8 w, I
D. 3007 ?+ h& `# B! a% m0 V7 W
10 . 下列语句创建了多少个string 对象?
8 I1 f% Y9 M+ S; O, zstring[,] strArray = new string[3][4];
0 Y7 w5 `9 @5 }! m5 YA. 0: H# S; x# u2 S: {4 b
B. 3* d1 p4 P$ i) K5 M
C. 40 W9 D; C5 Y( }' `- W! D
D. 12
% k# `! Q0 N) r/ t* u 11 . 关于相对路径,以下说法中不正确的是( )。
- k) k- b+ ^( |8 ?- n! R# e0 uA. 相对路径表述的是源端点同目标端点之间的相互位置
4 ^0 x3 I G9 p) q" }B. 如果在链接中源端点和目标端点位于一个目录下,则链接路径中只需要指明目标端点的文档名称即可
+ ~1 o1 n0 q* f( V+ m' a( DC. 如果在链接中源端点和目标端点不在同一个目录下,就无法使用相对路径' `) c4 O) L1 ^
D. 如果在链接中源端点和目标端点不在同一个目录下,就需要将目录的相对关系也表示出来3 \7 ^, l# a a1 `* G; w0 z
12 . DataAdapter 对象的DeleteCommand 的属性值为null,将造成:$ B) j& E- I M- H7 Q
A. 程序编译错误/ k! a- Y# T8 I+ _$ I5 {- i
B. DataAdapter 在处理DataSet 中被删除的行时,这些行将被跳过不处理
9 O% x: I! p4 i2 S9 K2 QC. DataAdapter 在处理DataSet 中被删除的行时,将引发异常9 h: d) H" x( r5 z
D. DataAdapter 在处理DataSet 中被删除的行时,将出现对话框询问用户如何处理该行( s; Y4 t+ \ s8 ]8 e
13 . 下面的语句,strpoint的值是( )。9 U7 r, F: u# l# |1 x" m g% q7 [
Strpoint=left(”qinxueli@126.com”,3). e2 p) K9 r, [5 Q' y' B" T! ^
A. xue
* u' o& U$ P3 ] J: ?; J' J- _B. @
7 Z* P4 ~) x& JC. qin+ X: L' i' Z' I- w
D. com7 A! A* a$ M) _9 t. ^5 U
14 . 下列哪些选项可以作为DataSet 的数据源
, v- D" h* J. l3 q1 @! I xA. SQL Server数据库中的视图3 O2 o" G; c& K# C' Q
B. Oracle 数据库中的表
3 |) F& ?7 A7 ^& ^# C, i) H8 V. @0 SC. XML 文件, R$ f# a* F i6 m* \
D. Excel 制表文件
6 ?* A: O; i+ x% d8 w7 N8 Y' d 15 . ASP.NET窗体文件的扩展名为:
$ f/ A' z5 I, k/ [$ ?A. .aspx3 e# @4 q' b' Q# a* ?
B. .ascx
" C8 U, M1 [+ x; g; c) }C. .cs4 ?0 L i+ ~, p, F
D. .html
7 Z2 b# l5 R. ^9 O$ S 16 . 验证用户输入的值在18~60的范围内,要使用( )验证控件。5 E% F, g( V' _* j% q$ U
A. RegularExpressionValidatof控件
2 q0 h& q4 ]+ e6 c0 cB. CompareValidator控件
+ Z" @0 [* l$ t% |' J8 x& BC. RangeValidator控件$ J8 i4 K# o8 Z% D
D. RequiredFieldValidator控件) F! ^/ F: n* j6 z& D, N( B+ _
17 . ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是( )
$ K; B4 N8 c8 |/ b% E, o; qA. HTML控件和Web控件
5 X$ M. t! o+ t7 r$ rB. HTML控件和XML控件2 b) r* l3 V) o; v( J& D7 U
C. XML控件和Web控件4 Q2 C& u1 h: O4 j. t6 f! g
D. HTML控件和IIS控件
8 C4 x7 K/ ^" N 18 . 使用Command对象和存储过程进行数据操作时,应将CommandType属性设置为( )。, d' f `. m2 o, _1 I, {/ l* s: y
A. CommandType.Text; Z) q: n* C% J# K0 y
B. CommandType.CommandText; e( ^, Z2 E! |. O
C. CommandType.StoredProcedure
" Y3 y) K/ z; F. I2 vD. CommandType.Procedure, i/ |% J: T" p$ ?
19 . 为使用OleDb .NET Data Proviver连接到SQL Server数据库,应将Connection对象的ConnectionString属性中的Provider子属性的值设置为:+ W# q7 h) f4 W' R. W
A. Provider=SQLOLEDB0 H/ Z4 w9 R3 I+ Y( u
B. Provider=SQLSERVER
; y8 H7 O# h. g0 ]C. Provider=Microsoft.Jet.OLEDB.4.0) z c* Z* `1 u J9 E3 z4 X6 P
D. Provider=MSDAORA- m: c+ w8 U6 T# Z5 S
20 . 如果想让Label控件显示特定内容,应设置其哪个属性:, a6 B6 [8 [; b3 ^ f( A
A. Color
" D! d- C" T2 C% K( vB. Text
[5 |1 z7 P* P$ ^+ ZC. Font
1 f2 M# u0 p3 p9 @$ D/ O, r0 iD. Visible- V+ S( y- _1 }7 A a
二、读程序(共20分)" g4 }, a6 w8 E
1. 解释下面C#带下划线代码的意义,5分
# R5 |0 n9 I W4 r7 v public void Configure(DateTime date, params string[] countries)+ ]+ S1 X$ g' e/ b1 I
{
, X% e! ]# w9 H) e, M DropDownList1.Items.Clear();
/ K D4 t# A9 X6 w* z- d2 F' W; @7 w( J7 ?& J& P1 U, ^7 y; @. H
Calendar1.SelectedDate = date; 7 \. Q! A1 d% `' R
ListItem[] items = new ListItem[countries.Length];
6 `& y+ r7 M! t+ m for (int i = 0; i < countries.Length; i++)
y7 K3 E, y( N {3 |! t) Z( R$ Q" x/ g- u: i8 c
items = new ListItem(countries); % J/ o7 J4 J1 G3 ~7 r
}
: F& G" |3 \) D DropDownList1.Items.AddRange(items); # |% T; ]& k$ `
}
" e' y3 @2 k u7 o9 i! l1 _+ O/ S
* r- H# U) i2 m2 k- q2. 解释下面C#带下划线代码的意义,15分
9 U9 ~7 p. u5 {: M/ y. K# Hprivate void Button1_Click(object sender, System.EventArgs e) {
6 F1 f& u& k4 e( r- I) O long lngOrderID; # e$ K/ V4 g) [9 @. n+ g# d" A) P
SqlConnection connNwind=new SqlConnection(); ( E4 ?2 M0 S5 ^( W u
Try{) J7 O6 n4 B8 o! ] w& c
connNwind.ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind"; h o- R0 k' Q$ H$ y( O3 X8 ]2 J9 L
connNwind.Open();
7 v; c( i4 K( A) f; o* I- A SqlCommand cmdOrder=new SqlCommand(); . G4 h$ u+ z$ W9 {$ z1 f
lngOrderID=long.Parse(txtOrderID.Text); ' ^: n" h4 }. F& d4 R1 ^4 S
cmdOrder.CommandText="select p.ProductName,ds.Quantity from [order
* o2 _( r1 d1 [( ?/ w4 k) wdetails] as ds inner join Products as p on ds.ProductID=p.ProductID where orderID="+lngOrderID.ToString();
- b4 n$ B5 d9 \. _ cmdOrder.Connection=connNwind;
, H) F. ~: L2 K5 m- Q' ?! }7 `' |- t) F SqlDataReader readerOrder=cmdOrder.ExecuteReader(); ! k; J3 Z, z2 b
TableRow trHead=new TableRow(); 3 s4 c! {$ K+ ]1 n+ ?2 p
TableCell tdHead1=new TableCell();$ O. z" l6 l8 L' F; C
TableCell tdHead2=new TableCell();
3 u t0 ]- r1 u- s tdHead1.Text="商品名称";
6 g; E4 j- o( D/ {5 [; v tdHead2.Text="商品数量";
9 e, m2 Q2 n9 s tdHead1.BorderStyle=BorderStyle.Solid;
" k0 z5 C9 T2 X9 B% P% m3 ` tdHead1.BorderWidth=1;
% j" J" F1 O8 r! t- F- v tdHead2.BorderStyle=BorderStyle.Solid;/ J, Y7 F I: f$ j7 M5 Q# l/ w. `3 F4 U" f
tdHead2.BorderWidth=1;# Q. f) D- \: W7 r# b6 u$ T3 f
trHead.Cells.Add(tdHead1); 6 A/ Z1 K0 f* c n
trHead.Cells.Add(tdHead2);8 n( j' ~8 `# g
Table1.Rows.Add(trHead); - W; `# B7 p8 |. I
while(readerOrder.Read()){8 l Y: k7 j' _* Z1 S
TableRow tr=new TableRow();& ~- Q/ {/ R$ q' O2 m3 t
TableCell td1=new TableCell();7 T8 U, l" X. t! b) a& M% q
TableCell td2=new TableCell();- u5 t) j5 {& i ?6 u3 e
td1.Text=readerOrder.GetValue(0).ToString();
, C( V- d4 j+ l! C td2.Text=readerOrder.GetValue(1).ToString();
+ a& K- t* H) T- q$ |! d- d td1.BorderStyle=BorderStyle.Solid;
! [4 H/ H5 A6 l td1.BorderWidth=1;7 b& x0 s2 }) M% {
td2.BorderStyle=BorderStyle.Solid;
/ e: D( z3 k* y. X td2.BorderWidth=1;
! s# j! S) Y3 l; Y tr.Cells.Add(td1);' k4 Q4 i# Z* T* s2 q
tr.Cells.Add(td2);# t7 r/ D* k8 a8 p1 S [
tr.BorderWidth=1;! ^1 L8 x! {3 V3 ~
Table1.Rows.Add(tr);
; c1 O b S7 X/ X; ]+ }) M }. m7 D" c7 ?" p3 X
connNwind.Close();/ e: `6 L- Z+ t: A7 K$ H
}
: V, e' K- C4 C) d; D g6 v9 e% r7 z catch(Exception ex) {2 E; E0 @3 s& ~2 e- l: m
Response.Write(ex.Message); . S* x& T/ E7 o/ J* H$ z) w$ M. s
}' J; t3 w, d- g# i' R% X
Finally {
& L. a+ p% ?: } if(connNwind.State!=ConnectionState.Closed)
3 @! V0 P( Q2 K U5 f1 i connNwind.Close(); $ D6 x6 ?. }0 r3 V0 y+ y5 M& J r
}
! D( B! J/ ^& |" {4 X6 Q2 @ }$ x$ n' w6 R0 s1 l1 X
- {; D3 b! ]7 O5 V4 i9 y
三、程序设计题(共20分)" u( V. t# s& ?3 \2 N* G9 b
设计一个动态信息显示页面,显示信息标题、发布人、发布时间等项内容,并按发布时间降序显示。点击信息标题,将在新窗口显示信息的详细信息。. _! u( z; ?, I/ ?! W) ?
1. 画出此程序的显示介面示意图,并标出所采用的Web服务器组件;
( S% M# t8 U& D D4 A2. 用表格的形式画出此页面所涉及的数据表设计(包括字段名,数据类型,存储空间,是否主键,可否为空等);
! \. J% u9 T9 N+ ?% H8 Q2 j t3. 列出程序设计中所采用的Web服务器组件的属性;
9 ?) r! Q6 a' {" l* d( c" W4. 写出此程序的设计思路。* z% n5 b% z& v- ^/ W
|
|