|
东 北 大 学 继 续 教 育 学 院: T$ A% V# n3 z6 l ^
4 ?+ p, c3 R9 e j2 N$ b/ d
Web程序设计 试 卷(作业考核 线上) A 卷
1 A n2 _; H# h* f' T5 K" u学习中心: 0 ?7 T5 D+ w3 _2 W
院校学号: 姓 名:
; n+ X. N7 ]. J# e9 o$ j
$ X! M4 F. E4 @! f5 O# q(共 7 页) 4 a: g# P2 {. o0 A4 y! p+ ~
总分 题号 一 二 三 四 五 六 七 八 九 十
; \8 D, G& \1 N& u 得分
7 Q7 Z* W5 O; |0 k# i
# U: ~" v. h! g一、选择题(请将所有正确资料写到答题卡中,每小题3分,共60分)
: ^# b& d4 {3 F7 `答) d5 W$ j" `, C% ?
题
( C" A5 @) `; Q) `, P卡 题号 1 2 3 4 5 6 7 8 9 102 d5 }3 [: A+ W9 h
资料 ; D. j7 X% R" a9 k
题号 11 12 13 14 15 16 17 18 19 202 V4 ^2 g* g9 O) I
资料
9 Z; Z4 M* G7 H1 J7 i# O! n. Q. Q* u( s1 M8 C+ N
1 . 目前,Microsoft .NET Framework 的发行包中包含以下.NET 数据提供程序
+ l; \" @% L& F7 W* HA. SQL Server .NET 数据提供程序/ a! k. `9 ]# x. v6 E$ B* W
B. OLE DB .NET 数据提供程序. U, E2 c) D9 ~# o
C. ODBC .NET 数据提供程序# X c4 D2 F0 L* E6 U
D. XML .NET 数据提供程序7 b+ [3 ^6 d& F% s) u+ K5 x( F
2 . 用鼠标右击一个控件时出现的菜单一般称为:
$ r3 R( B6 L" K. t% |A. 主菜单
R1 c% a. E: }4 @ R; P) JB. 菜单项; p! l+ m4 ~3 B: `8 g" R& B
C. 快捷菜单# e* J! g% z/ c% e6 X8 C( S9 ^/ p0 K
D. 子菜单
& i3 [, I/ H( k3 [, u 3 . 如果要设置TextBox为只读的,应设置:) @& v7 h2 ?: j: @# l; ]. m4 C4 [$ }
A. ReadOnly="true"* N9 V4 I5 i- o2 `; e
B. ReadOnly="false"8 t/ Z4 [& B2 X( I8 I l
C. Enabled="true"8 D& t% T7 C6 _7 o% R
D. Enabled="false"
9 s, [/ W/ y6 W, E' g, Z 4 . 为创建在SQL Server中执行Select 语句的Command 对象,可先建立到SQL Server数据库的连接,然后使用连接对象的_______方法创建SqlCommand 对象.
& o$ H, Z# H2 r6 X: x1 rA. Open
' ^7 h8 u6 L! v( m' {B. OpenSQL
& m- Q) o8 U9 G) U5 F# W1 JC. CreateCommand" z1 G6 _' t) }2 T: N7 }" C
D. CreateSQL! d* ?" W3 F7 t) \! P+ `+ I
5 . 网页中的表单是()。
2 n1 b+ O& E- _+ E! {/ _" }$ ?; zA. 一个容器类对象
, Q* C7 e% W$ }# IB. 一个图像对象
3 x- @2 e. B- H2 A: w3 M! P3 N5 CC. 一个子网页
! s9 T$ P. _, \D. 一个对话框+ H4 N# E3 H! [& y* O3 O# K
6 . SQL Server 的Windows 身份验证机制是指,当网络用户尝试连接到SQL Server 数据库时,' B8 K; B1 j% b
A. Windows 获取用户输入的用户和密码,并提交给SQL Server 进行身份验证,并决定用户的数据库访问权限
7 r( y- s( q" R' _B. SQL Server 根据用户输入的用户和密码,提交给Windows 进行身份验证,并决定用户的数据库访问权限: G8 v! z. T/ f3 p+ O" ?5 F
C. SQL Server 根据已在Windows 网络中登录的用户的网络安全属性,对用户身份进行验证,并决定用户的数据库访问权限
7 ~7 u9 ^+ ~" C+ x( a) TD. 登录到本地Windows 的用户均可无限制访问SQL Server 数据库
$ A1 ]1 K" T' e# v# {; r$ h- f 7 . 分析下列程序:" o H% O# V- I- T6 H
public class class4- n( M+ H1 R* R( j U% {
{8 ~: I% L: C2 I3 u
private string _sData = "";# H* p( i$ [' D2 F1 {# ]* L( ?9 Z
public string sData{set{_sData = value;}}
" j5 \5 Z$ r% Z}
0 W9 A, _ O* {: S, r# o) w V在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的?
$ n/ w8 G. \, n5 Z, |4 dA. obj.sData = "It is funny!";: Q: Y3 j/ ?6 U' J7 G
B. Console.WriteLine(obj.sData);$ s9 `% n: g o" e" J
C. obj._sData = 100;* C1 R; b+ Y7 v! l7 e: z" X
D. obj.set(obj.sData);( T5 P9 @6 r) C/ {. t6 x$ O6 b
8 . 如果需要确保用户输入大于30的值,应该使用( )验证控件。
: S$ Y4 S2 y2 m( _. g, S- e7 BA. RequireFieldValidator) s W5 L9 i% h/ S/ I& P0 K
B. CompareValidator7 @) s% |# P5 x5 G/ o, g
C. RangeValidator+ T. R+ N( m' X0 Z0 p# q4 y5 {% F
D. RegularExpressionValidator, j N# N+ F3 n1 A/ L% V4 b- n
9 . 已知ds1,ds2 分别代表两个不同的DataSet 对象.其中ds1 已包含名为"Customer"的DataTable 对象,且该DataTable 对象被变量dt_Customer 引用.已知dt_Customer表中有100 条记录,则执行下列语句后,新的数据表new_dt_Customer 中包含______条记录.
% V5 [0 {* p* d) V' N. mDataTable new_dt_Customer = dt_Customer.Copy();& P! \/ T* w* Z! b' q) l
A. 0" t5 @0 ]5 G7 d" m3 \% `! v
B. 100
: c& i& t# f% ?$ N: AC. 2006 E* k' X& R6 n j$ T1 m+ g& m+ [- Q
D. 300* p% Z% _! K+ m1 t
10 . 下列语句创建了多少个string 对象?
# @4 E3 |8 J5 I4 X- P& l ?* ]) Nstring[,] strArray = new string[3][4];
8 t3 e2 G$ x0 iA. 0
1 i% ~" ]$ K8 Y7 C! {B. 3( y& n3 v$ a1 o; w
C. 4% ^! w4 Y; ~, J# z9 o+ c9 o9 m
D. 12
5 b3 d7 E' C/ S8 {" ?! R3 {0 R- p 11 . 关于相对路径,以下说法中不正确的是( )。
8 S. z) }% `5 w% y7 DA. 相对路径表述的是源端点同目标端点之间的相互位置# W( @, F, c" [0 A0 R% o
B. 如果在链接中源端点和目标端点位于一个目录下,则链接路径中只需要指明目标端点的文档名称即可
% p' Z' D5 ] p) W6 ]1 [C. 如果在链接中源端点和目标端点不在同一个目录下,就无法使用相对路径3 a6 Z) ?& Z6 w" Y( y1 ^! w
D. 如果在链接中源端点和目标端点不在同一个目录下,就需要将目录的相对关系也表示出来5 r0 E) m! Q. Q7 F. B
12 . DataAdapter 对象的DeleteCommand 的属性值为null,将造成:) Y2 @' b1 A1 a8 Q1 T7 |6 `. D
A. 程序编译错误
9 e; D2 _; K( g( NB. DataAdapter 在处理DataSet 中被删除的行时,这些行将被跳过不处理& }6 w$ k; e* q' L6 O
C. DataAdapter 在处理DataSet 中被删除的行时,将引发异常1 K' H6 e$ [6 S' \; {9 E
D. DataAdapter 在处理DataSet 中被删除的行时,将出现对话框询问用户如何处理该行
3 k9 ]+ v' y( z% z. d: b 13 . 下面的语句,strpoint的值是( )。
2 j# _# A; f- O6 H; QStrpoint=left(”qinxueli@126.com”,3)
! [) x& o" N$ v9 i- qA. xue/ c# ^& N" r" ~2 @* E
B. @
! q( B0 n+ t9 V/ _/ Q" HC. qin- P4 G/ f1 r Y6 U( K7 ~
D. com
: }' R( c& g3 |" b7 f' d 14 . 下列哪些选项可以作为DataSet 的数据源; |. V5 ?- Z+ t/ \0 L6 Q/ c Q
A. SQL Server数据库中的视图
# q% f9 k, J* @8 x2 xB. Oracle 数据库中的表, C% ]8 r# j% n; }. @
C. XML 文件
$ G6 K/ u1 H7 ]4 I; p/ YD. Excel 制表文件
+ g! m0 o8 z6 I X1 ~2 v2 w4 e 15 . ASP.NET窗体文件的扩展名为:
9 b9 i3 ]( _5 t- L5 l. i* TA. .aspx5 K1 h- m/ N! t: v0 P! N
B. .ascx& r, Q9 P& P- M5 N x9 g, X
C. .cs( p \, X. x7 V/ ~$ |4 _
D. .html
$ m' N0 l! a3 i$ B: c( Q3 [& Y: o 16 . 验证用户输入的值在18~60的范围内,要使用( )验证控件。$ j3 g/ f2 O1 P# ]2 G* O
A. RegularExpressionValidatof控件
0 r5 [5 o" m5 J9 h. h6 xB. CompareValidator控件
. |8 f' S$ k( x# j1 _( mC. RangeValidator控件+ U- L9 i: e5 z6 V d, e: [$ w3 I& L
D. RequiredFieldValidator控件, Y1 L4 r, ^9 o1 x) ]6 T3 Q) Q
17 . ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是( ). c4 N- U0 x& ~+ Z7 t" X: g
A. HTML控件和Web控件
8 X4 H6 @ G& x. wB. HTML控件和XML控件
- z9 {; ]- w+ B! UC. XML控件和Web控件; t* P1 G; v- n g
D. HTML控件和IIS控件6 Z4 A4 @7 ~0 X
18 . 使用Command对象和存储过程进行数据操作时,应将CommandType属性设置为( )。: K/ [3 Q8 k, J- k
A. CommandType.Text
. f/ t' Q r. ~4 Y9 K2 zB. CommandType.CommandText
; o5 w8 Z$ }* q( I, x4 D8 K3 AC. CommandType.StoredProcedure- g4 z' f3 s* N
D. CommandType.Procedure
, s) d- S4 v2 V0 v 19 . 为使用OleDb .NET Data Proviver连接到SQL Server数据库,应将Connection对象的ConnectionString属性中的Provider子属性的值设置为:
% U. I0 p# R# p% R" j; k% M+ o$ o, aA. Provider=SQLOLEDB
0 `0 x3 R* ~ p5 K- V4 UB. Provider=SQLSERVER
$ Q+ w# }- h6 @; z- S, L4 R2 q( L+ KC. Provider=Microsoft.Jet.OLEDB.4.0
( z* w# t& d! @+ I! rD. Provider=MSDAORA0 o: c0 ]8 c7 ?5 G( Z
20 . 如果想让Label控件显示特定内容,应设置其哪个属性:5 \6 n( c* x4 L" ~
A. Color" E. _" ~6 m* m
B. Text
5 \9 m5 i2 G0 i* T$ V+ j! S! G0 _C. Font
! ]" W3 g5 W5 t# ?; `- BD. Visible- E }" a! A; V$ @! e
二、读程序(共20分)! A& d$ [ T; }4 w
1. 解释下面C#带下划线代码的意义,5分
2 o N- u/ j; H2 j& f1 y" u public void Configure(DateTime date, params string[] countries)" N( w: O1 m& K8 K* S, ?
{7 a0 U1 G& [+ w! o/ r9 R
DropDownList1.Items.Clear(); 6 S ~4 Z. k5 q& p5 _4 d
$ d& @7 T* M; S- I5 k( N6 U: n
Calendar1.SelectedDate = date; " Z- |" t' X4 j0 V0 B: a- n: R& ^
ListItem[] items = new ListItem[countries.Length]; # p, c8 c* E1 Z3 }+ @
for (int i = 0; i < countries.Length; i++)3 l x; v5 f1 ^
{. a6 p! @, A d4 d
items = new ListItem(countries);
* Y, j0 F3 m6 ~# H }
3 ~: r# b) D! n DropDownList1.Items.AddRange(items);
+ @# J# X3 x2 `# b }6 _! ]! q+ k7 T" P) G9 x
- E6 N4 l3 K! J" u4 S8 d# F4 O: ]- n$ G
2. 解释下面C#带下划线代码的意义,15分4 x/ u& j2 H) Q' v
private void Button1_Click(object sender, System.EventArgs e) {! P: z0 L/ q, Z; v0 ]
long lngOrderID; 4 D4 \) c' Z1 v
SqlConnection connNwind=new SqlConnection();
7 `# a2 |( z# c, G# y9 \# u c* D" S Try{
: F- u Q8 r0 | ^ connNwind.ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
/ a* e% z4 Y$ z& S8 V connNwind.Open();
: v$ a- j5 e$ t3 G, w SqlCommand cmdOrder=new SqlCommand();
* V: i6 S) i( g! _) \' B2 A lngOrderID=long.Parse(txtOrderID.Text);
1 c5 U9 |$ F! |" |9 [ cmdOrder.CommandText="select p.ProductName,ds.Quantity from [order! h6 s G* I& L# Y* k
details] as ds inner join Products as p on ds.ProductID=p.ProductID where orderID="+lngOrderID.ToString();
$ r' z6 _; e, C7 ~4 M9 p+ I cmdOrder.Connection=connNwind; % Z* G5 { p) \; y
SqlDataReader readerOrder=cmdOrder.ExecuteReader(); / B. C8 u* E- C# q; M
TableRow trHead=new TableRow();
% x# g& h; J) q1 a TableCell tdHead1=new TableCell();
% f8 R5 W) |3 v& W0 a! q) \ TableCell tdHead2=new TableCell();. b2 @0 D: T) x! I: ~
tdHead1.Text="商品名称";
# v, R s( z$ P) ^, v6 _ tdHead2.Text="商品数量";
" n0 s; R' b' W( P tdHead1.BorderStyle=BorderStyle.Solid;
1 `9 V! {8 D0 d5 }( b. a" [ tdHead1.BorderWidth=1;& t' c/ Z% B' R2 h4 _! E/ ?
tdHead2.BorderStyle=BorderStyle.Solid;. B" T' u+ R# [' H- I) V& @$ @
tdHead2.BorderWidth=1;
: C2 Z. L( [2 u trHead.Cells.Add(tdHead1);
8 M: M, z4 u& d1 Y trHead.Cells.Add(tdHead2);
! p# ]6 F2 j; w" g Table1.Rows.Add(trHead);
+ E: E5 R z+ M5 ` while(readerOrder.Read()){. {5 K9 ~: q! U* i+ P4 h
TableRow tr=new TableRow();
9 Y4 n5 }* N5 `# x TableCell td1=new TableCell();6 _' F% o5 E/ n: \8 p
TableCell td2=new TableCell(); U" r4 ^0 T: _9 G9 u( A% L& g# s
td1.Text=readerOrder.GetValue(0).ToString();
7 ]3 O) O# k. l* o td2.Text=readerOrder.GetValue(1).ToString();/ f% A. g* |9 T/ V
td1.BorderStyle=BorderStyle.Solid;
: \+ k& R, D9 z0 ^6 ]2 V. l, A# ~1 [ J td1.BorderWidth=1;! g; S2 E1 ^: u$ c" l9 ^% u
td2.BorderStyle=BorderStyle.Solid;5 d. C6 O8 m% S
td2.BorderWidth=1;7 v9 p, \0 H0 I1 O/ g
tr.Cells.Add(td1);4 p/ F9 i; g8 K5 d" ^) Q' w
tr.Cells.Add(td2);
& \3 c* H. S2 s; f. c( P tr.BorderWidth=1;
- T5 ~1 K7 q% _3 ^, K5 h' _ Table1.Rows.Add(tr);
! i0 ~; H4 y$ a( o ]! C2 r }
: V. {: P2 `5 F+ e* F r connNwind.Close();0 n! \: k6 c' |$ I) C% P# r
}
: |! U( \9 B4 l p catch(Exception ex) {) _1 H% ~5 e6 N: r
Response.Write(ex.Message);
! K( x4 h" c, _$ {( c0 C0 v }+ `1 \! M% Q6 D$ Q) y; @8 z
Finally {0 j6 B p6 k6 Y
if(connNwind.State!=ConnectionState.Closed) 6 u+ p5 C& V4 V4 L
connNwind.Close();
9 L; M! y& `! X- p, e }
1 G( B; s: @& G+ Q p( N }0 [: T! S9 f+ i) `
! ]/ G) d# e2 V& t三、程序设计题(共20分) r) s" s# M+ M8 w8 c$ o- _
设计一个动态信息显示页面,显示信息标题、发布人、发布时间等项内容,并按发布时间降序显示。点击信息标题,将在新窗口显示信息的详细信息。6 l8 W1 h9 ~$ g; [6 b
1. 画出此程序的显示介面示意图,并标出所采用的Web服务器组件;
$ O5 K- l/ v* Q2. 用表格的形式画出此页面所涉及的数据表设计(包括字段名,数据类型,存储空间,是否主键,可否为空等);
- G# I1 ]; j: Y6 j2 I3. 列出程序设计中所采用的Web服务器组件的属性;
5 U$ e" Y0 L9 i! i/ p4. 写出此程序的设计思路。
* [! d2 i2 [0 Y) \% ^ |
|