|
东 北 大 学 继 续 教 育 学 院3 c, k. ~* {5 x) g5 O
\0 N: f$ q7 v2 @. C5 ` Web程序设计 试 卷(作业考核 线上) A 卷
- w+ Y- R, i! D; x4 M+ m M, M0 [2 X学习中心:
- n0 |! X1 H, ]- k院校学号: 姓 名: % B, |8 j9 j6 `; t
0 Q, o0 i$ @" r/ O. I8 K8 h& ](共 7 页)
: }; C/ [; a" E) e总分 题号 一 二 三 四 五 六 七 八 九 十
% N, E1 Z4 o7 X* C 得分
. A) x$ ]; V$ o* A% {2 C* I" P' r/ I8 K' o& D+ N1 ^9 o( a
一、选择题(请将所有正确资料写到答题卡中,每小题3分,共60分)7 ~& s: y+ r6 f% {9 A d
答
! v8 B( R; m. J* z题( I6 E" r* n9 N
卡 题号 1 2 3 4 5 6 7 8 9 104 A- Y& K; l7 p, u" g2 v
资料 + n7 m* o! l' Z z C' u$ g
题号 11 12 13 14 15 16 17 18 19 20. X' P' U. d# ]$ X [
资料 ( z1 y8 Y5 U' Y: i
# x6 g8 f Y4 E. r1 . 目前,Microsoft .NET Framework 的发行包中包含以下.NET 数据提供程序+ y4 H3 s0 c. Y" u( K" w
A. SQL Server .NET 数据提供程序. g2 ?4 v$ f/ J2 n
B. OLE DB .NET 数据提供程序
/ @# f8 a3 @! R8 AC. ODBC .NET 数据提供程序1 V/ L c* R' p# m, Y! y. v
D. XML .NET 数据提供程序; u/ a+ P3 Q! I5 ^3 Q
2 . 用鼠标右击一个控件时出现的菜单一般称为:
# o4 }) p) M5 RA. 主菜单
" j% V" I7 J3 D8 L- | p1 F# H3 vB. 菜单项
& l. {/ x3 C* F- G4 gC. 快捷菜单; @, S9 y( g6 a! G' z! Q
D. 子菜单
7 C7 y+ X+ P- o& T+ o 3 . 如果要设置TextBox为只读的,应设置:
: s# y; l- m% J. |8 {( y* @A. ReadOnly="true"* k6 w0 Z& W! Y6 u% w, Y
B. ReadOnly="false"
9 g! _' N+ @) O' sC. Enabled="true"
& B9 C9 H2 y4 y5 R6 w2 bD. Enabled="false"
% U; v2 ?6 L- Z; m' t3 r 4 . 为创建在SQL Server中执行Select 语句的Command 对象,可先建立到SQL Server数据库的连接,然后使用连接对象的_______方法创建SqlCommand 对象.+ I2 U* v9 j P0 B+ O( f5 d
A. Open
+ Y: p( o' d# KB. OpenSQL
$ z4 L; J5 ]. A k3 L' G, bC. CreateCommand1 {6 i& t. u X) H9 e+ }) @$ Q" y
D. CreateSQL5 ^8 U7 K6 ^* P, W: }0 D" B8 \% o
5 . 网页中的表单是()。
2 s! g* G; W1 S# OA. 一个容器类对象0 b+ V e+ Y7 D p& P Q
B. 一个图像对象' Y# d* M* @' v
C. 一个子网页5 i% R( X5 T1 ?- _- I1 f. \
D. 一个对话框
8 T0 ]+ @6 ]$ M: d& X 6 . SQL Server 的Windows 身份验证机制是指,当网络用户尝试连接到SQL Server 数据库时,7 ^9 S* P8 l+ y, q4 R" S
A. Windows 获取用户输入的用户和密码,并提交给SQL Server 进行身份验证,并决定用户的数据库访问权限
+ @: X9 r. I5 f$ p' ^B. SQL Server 根据用户输入的用户和密码,提交给Windows 进行身份验证,并决定用户的数据库访问权限
. M- k/ a' D5 g( r5 }( s1 SC. SQL Server 根据已在Windows 网络中登录的用户的网络安全属性,对用户身份进行验证,并决定用户的数据库访问权限
% b5 Y/ I1 z, F2 \( }$ |8 Q( z$ s9 }D. 登录到本地Windows 的用户均可无限制访问SQL Server 数据库2 h: A4 g( e8 l
7 . 分析下列程序:
) G9 E8 H# g" s: I6 R, D7 g7 qpublic class class4
( [4 d* q2 s. ]* R& \{6 g5 R) E4 S$ c& r. x7 H
private string _sData = "";3 B% N# Z# V7 q' p
public string sData{set{_sData = value;}}
, v, F# W% @+ l9 t) c1 [1 B( [0 j8 F}
( v- Q% ]! g# Z V3 O) G( G- l在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的?* H6 i! s9 G4 x$ Y
A. obj.sData = "It is funny!";
5 w* K; ~) R/ N* H% s; j1 a$ bB. Console.WriteLine(obj.sData);
. A4 K9 S5 O, S5 A. g, w. \C. obj._sData = 100;8 r% O* O6 f l8 y' {
D. obj.set(obj.sData);
' {0 c% o/ { w- a: c& S 8 . 如果需要确保用户输入大于30的值,应该使用( )验证控件。& }+ d/ I' |$ K; j% q! P
A. RequireFieldValidator; `% W3 Z7 t( C- n' t/ g
B. CompareValidator6 ^. t, H2 X! |! T
C. RangeValidator S+ p4 h1 _, e' A; m! ]! [7 j" g8 G: E0 M0 ]
D. RegularExpressionValidator
! C6 p% h4 }$ h( N# L+ r 9 . 已知ds1,ds2 分别代表两个不同的DataSet 对象.其中ds1 已包含名为"Customer"的DataTable 对象,且该DataTable 对象被变量dt_Customer 引用.已知dt_Customer表中有100 条记录,则执行下列语句后,新的数据表new_dt_Customer 中包含______条记录.
' r; N% t$ S* w- V: LDataTable new_dt_Customer = dt_Customer.Copy();9 H3 Y8 U1 e. k! A! J
A. 0: W3 F* I1 B% H v8 s' F( L
B. 100# ?) T I! F0 C" c8 L. V% C+ G* t" K
C. 200
/ W' p9 F8 f6 z- A9 d6 l* T: @D. 300% ]$ X5 o# H$ }; T* P+ J/ i
10 . 下列语句创建了多少个string 对象?, M4 `+ v# s- y' K. f o' D
string[,] strArray = new string[3][4]; S6 v# ]3 {/ H: V6 g+ g
A. 0! C o' y5 X+ B* \, G% j
B. 3
, F% b, {+ L; _* p3 aC. 4
% I( z9 \& d1 u% RD. 125 G' h3 S3 b7 b! C
11 . 关于相对路径,以下说法中不正确的是( )。2 W& q7 ]5 M* K Q2 ^6 k
A. 相对路径表述的是源端点同目标端点之间的相互位置
' D' e8 [5 |4 G2 w& vB. 如果在链接中源端点和目标端点位于一个目录下,则链接路径中只需要指明目标端点的文档名称即可
4 ? i# L& m+ o; WC. 如果在链接中源端点和目标端点不在同一个目录下,就无法使用相对路径
- b' h; f; T \% l' E% m7 Q& bD. 如果在链接中源端点和目标端点不在同一个目录下,就需要将目录的相对关系也表示出来
0 N, E, D" ~$ T5 C 12 . DataAdapter 对象的DeleteCommand 的属性值为null,将造成:0 G* R2 ^ d. u" r6 k1 O
A. 程序编译错误; l5 s# |( S, {8 U# g/ W4 c
B. DataAdapter 在处理DataSet 中被删除的行时,这些行将被跳过不处理, _; u2 h& p9 I, x6 F, A
C. DataAdapter 在处理DataSet 中被删除的行时,将引发异常( ] N+ ^0 D% {0 `* o3 K' w/ P
D. DataAdapter 在处理DataSet 中被删除的行时,将出现对话框询问用户如何处理该行. g4 q; @- G* @
13 . 下面的语句,strpoint的值是( )。
/ j+ p; @% s1 A. lStrpoint=left(”qinxueli@126.com”,3): {% ] e# a0 q
A. xue
; [, }# |$ S# x# I6 WB. @
; }% w) d1 n3 Y9 k% J0 y9 _C. qin# u- `5 `# x* _* N% a
D. com5 q+ \/ X: k2 S- @! r4 u; Y9 [1 r
14 . 下列哪些选项可以作为DataSet 的数据源/ V- \6 d7 }2 i8 v. p2 |9 T
A. SQL Server数据库中的视图
6 S: q! u: v$ q5 s. | c" MB. Oracle 数据库中的表
W9 E. e/ r5 I$ c, m/ F$ ~$ A1 MC. XML 文件
9 O- v8 G$ g; X! G3 F/ b' CD. Excel 制表文件5 c( T/ C- j6 Y! f
15 . ASP.NET窗体文件的扩展名为:! s: p- U# ~5 C
A. .aspx; M# x3 }5 T$ \! N. P
B. .ascx) Z# m) u+ |4 p4 B5 s
C. .cs
+ m5 s& [% ?: u% N) y) n7 [% `D. .html0 w; M8 A& x$ J/ m! @- u7 L3 A
16 . 验证用户输入的值在18~60的范围内,要使用( )验证控件。
B7 \$ J$ G( s3 x# {A. RegularExpressionValidatof控件
2 O$ c7 |' p. r$ d6 u+ Y/ RB. CompareValidator控件2 A; t9 h9 H/ j# g- A
C. RangeValidator控件: V0 D" Y3 o# h. x
D. RequiredFieldValidator控件
- F ] V1 X+ ` k4 G9 w6 \3 B) Y 17 . ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是( ) I5 { \- k0 ?7 C; x* g
A. HTML控件和Web控件
1 f0 d+ N# Y$ @B. HTML控件和XML控件& \% q$ H: c" t2 o+ C" N
C. XML控件和Web控件$ ?& L& T7 [/ W. @7 M+ V" M
D. HTML控件和IIS控件+ O1 V+ J8 J$ o5 L- n' v
18 . 使用Command对象和存储过程进行数据操作时,应将CommandType属性设置为( )。8 F5 }+ ?/ z& _( K2 N: Q
A. CommandType.Text0 ~) l3 `1 W6 b \
B. CommandType.CommandText
5 v) z, k; i) M5 {/ a. m EC. CommandType.StoredProcedure# x7 a ?) T, @) w
D. CommandType.Procedure
0 _! j2 \8 }8 W$ u, r 19 . 为使用OleDb .NET Data Proviver连接到SQL Server数据库,应将Connection对象的ConnectionString属性中的Provider子属性的值设置为:) k1 M' Q' p1 [4 t2 [' k3 `( i
A. Provider=SQLOLEDB
9 R1 D+ [* C5 N, _B. Provider=SQLSERVER
( ]" A/ P6 F3 P8 ^/ z0 {6 F3 Q( ?C. Provider=Microsoft.Jet.OLEDB.4.0
6 `+ V; V9 S/ O% }# FD. Provider=MSDAORA2 ?& _# j3 G( h y
20 . 如果想让Label控件显示特定内容,应设置其哪个属性:
; ^" x$ C8 H3 w8 _9 z4 z1 ~A. Color
7 U' \/ f+ q8 `$ pB. Text
6 P# z0 h1 l1 O8 F( m( KC. Font
" p8 S% p* u+ r3 k- U+ a, {D. Visible2 {8 n4 I, E2 ?3 A P) [
二、读程序(共20分)) m$ ^- O/ |& o. q( y! Z1 v
1. 解释下面C#带下划线代码的意义,5分3 D& b8 ]3 c6 t
public void Configure(DateTime date, params string[] countries)& s, s, K3 _/ L8 o) C3 U; X( s
{
7 j& k2 }0 ]/ _. M DropDownList1.Items.Clear();
. p# N' g& V7 a- H6 J) }1 x9 U' y$ r* r
Calendar1.SelectedDate = date; # g0 F) T3 L# _' D8 C2 v7 A! T9 l
ListItem[] items = new ListItem[countries.Length]; 1 l( Y6 f, }* a7 Z2 W3 T. L
for (int i = 0; i < countries.Length; i++)! g0 w2 }. u& U }6 |, D1 |. c
{
" k% F/ P7 H6 R" r# {" l items = new ListItem(countries); 4 w: x* P8 N3 c8 f% g; x
}
, G0 D! I! F. G5 A5 X DropDownList1.Items.AddRange(items);
, f4 L9 n2 C: c! V }7 H* b; h9 x0 y* i( |% i
6 i- S! F8 {9 |. P# N2. 解释下面C#带下划线代码的意义,15分7 ~* A& F8 z f/ v; v# a
private void Button1_Click(object sender, System.EventArgs e) {. {8 X$ k) B% p9 Y6 y. x
long lngOrderID;
+ R9 t' G; Z. r$ q, \$ \7 s* n% i/ R SqlConnection connNwind=new SqlConnection(); ' B+ F9 `% {" u: M3 }! K
Try{6 |& C: b: O3 P" M2 a
connNwind.ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
?. J2 `7 ~! \6 u connNwind.Open();
' T) J# G" |$ S \* z SqlCommand cmdOrder=new SqlCommand();
' \4 P" S3 g9 g+ X lngOrderID=long.Parse(txtOrderID.Text);
0 W$ J4 X! {* I& R- ~1 F' K% j9 Q( h$ J cmdOrder.CommandText="select p.ProductName,ds.Quantity from [order. x$ W0 f0 G/ k* z/ E- |. z
details] as ds inner join Products as p on ds.ProductID=p.ProductID where orderID="+lngOrderID.ToString();
, y( t) r% ?4 ^% [& D cmdOrder.Connection=connNwind; * N. {& F6 \" x* o Z! _
SqlDataReader readerOrder=cmdOrder.ExecuteReader();
3 S, l/ S% B+ i# @5 ]; x8 {, a TableRow trHead=new TableRow();
* _/ d! u/ L& T& W" K r, U TableCell tdHead1=new TableCell();
9 f' s5 H; v, S4 B8 Z TableCell tdHead2=new TableCell();) L. Z8 T, ?& x- Q5 |" e* C' M
tdHead1.Text="商品名称";
" Z1 a' m* J/ q# A; b% _# \ tdHead2.Text="商品数量";
! d% l( Q' J8 j& p3 o tdHead1.BorderStyle=BorderStyle.Solid; $ ?. L& R6 D9 l1 r3 V9 O, T
tdHead1.BorderWidth=1;' C2 q# q, ^/ {$ f Q
tdHead2.BorderStyle=BorderStyle.Solid;" r' g& z* E9 x. K
tdHead2.BorderWidth=1;
; i8 Z8 {6 D$ t5 ~/ f9 k trHead.Cells.Add(tdHead1); ! K6 y" _7 v2 g4 G3 t+ P$ r
trHead.Cells.Add(tdHead2);2 S2 W# r1 o* g2 D8 }
Table1.Rows.Add(trHead);
& w! H( |0 [' p! s1 e* V1 \ while(readerOrder.Read()){* ?- e( ?7 H! H r
TableRow tr=new TableRow();* L- i; O% t; A; S0 K. L
TableCell td1=new TableCell();8 c7 X1 v! L; z
TableCell td2=new TableCell();8 o s( z8 u8 d) f) [. G
td1.Text=readerOrder.GetValue(0).ToString(); ; [; U* x5 i! @
td2.Text=readerOrder.GetValue(1).ToString();! t1 t& a3 n2 |' \+ P/ [
td1.BorderStyle=BorderStyle.Solid;
) V/ ^' Y3 x$ [) Y* ^ Q4 I td1.BorderWidth=1;
! x6 X0 ~5 z! F( c td2.BorderStyle=BorderStyle.Solid;2 a4 R, X0 {1 }7 A0 w$ ?
td2.BorderWidth=1;' ^2 |2 G' L0 W* l8 n; ]$ x( J; {
tr.Cells.Add(td1);
; N" D# y2 o8 w tr.Cells.Add(td2);9 b5 B: Z/ E m. U! Y* v
tr.BorderWidth=1;
! u# d5 B. \3 v& G Table1.Rows.Add(tr);$ B% ?9 U. C2 l, }2 i, {; k4 e
}4 N7 i+ g+ w3 v: v: d
connNwind.Close();
: W7 O) O. M7 f6 h }7 }' Q5 Q }* Q( Z- J
catch(Exception ex) {8 f. c) B3 N7 B6 ]& n" {
Response.Write(ex.Message); # ~7 s0 T8 E6 ]9 {, G, A- M
}
6 r+ Y# v7 F; b! P Finally {8 B+ b2 ?: S/ T, ^3 J6 l5 C) k" ?
if(connNwind.State!=ConnectionState.Closed) ) G1 E+ B, r/ V) H E1 O
connNwind.Close(); $ x' P. y& J/ y
}
0 s% ^1 M2 ^" b }
! W6 d' w& D) P8 M' p) `/ n2 @9 l% z2 r0 f
三、程序设计题(共20分); `& w" K4 C' Q m) [$ y" {; C
设计一个动态信息显示页面,显示信息标题、发布人、发布时间等项内容,并按发布时间降序显示。点击信息标题,将在新窗口显示信息的详细信息。
, c- \( t' G$ R8 k3 M" D: `3 k' ~5 Y1. 画出此程序的显示介面示意图,并标出所采用的Web服务器组件;0 r7 |# s3 I( o! [3 m3 h
2. 用表格的形式画出此页面所涉及的数据表设计(包括字段名,数据类型,存储空间,是否主键,可否为空等);
9 R1 y8 e" O) E# a7 V! c3. 列出程序设计中所采用的Web服务器组件的属性;- j; ^9 V' f2 e( K; q4 J; o1 G
4. 写出此程序的设计思路。2 ~" m! W4 v7 J2 t& W& T6 K# r
8 I0 I- }# Y! E. H- Z+ B3 o! _
# _0 w8 j j9 K5 x% \9 h
3 u% i! Y1 R) J. l, u! O h" u! d3 Z, K, M0 O# j
. i# Q% E( E, B d/ Z# x y
' i9 o6 i* h( v5 Q' R; G i
9 q$ R8 ~: v* y6 P1 l) I
9 V5 w* A& s. Q1 W, L& u/ q. {. E% [) g! |8 R9 t7 T9 B
$ U6 P# _0 g/ s" I) w) C9 R7 L% N
/ Y8 f, S5 i% y/ S3 d; r
% U! s' g, Z) m |
|