|
东 北 大 学 继 续 教 育 学 院
: E3 p+ B' i2 P9 |" I' ]
1 u5 a) u; F, l Web程序设计 试 卷(作业考核 线上) A 卷, J% K5 w. ~' a
学习中心:
}& Y7 j- D* F# z; h- i院校学号: 姓 名:
1 e, A/ I# Z( Q8 B. p+ k2 ^4 r
/ o' l" l* z& R: W# o; {(共 7 页) 7 j$ b: t1 j7 H9 T
总分 题号 一 二 三 四 五 六 七 八 九 十
* T- l& I" }8 ]% V% R 得分 ) I6 [: |: Z4 M" ^& I2 y' ]6 Y
& a$ N+ X8 F: p8 s' t. A2 f$ J
一、选择题(请将所有正确资料写到答题卡中,每小题3分,共60分)5 T" H5 M) [4 ~3 `1 B9 y
答& X4 N6 T) z# A$ b5 U
题
+ o( ]) c$ y! Z卡 题号 1 2 3 4 5 6 7 8 9 10# m; y9 p1 q% G
资料 . X) L1 V: M; j3 C2 @3 g5 y. v% u
题号 11 12 13 14 15 16 17 18 19 205 O7 n1 ~& t5 A
资料 6 e p3 M) W2 \: C/ `0 u
) C! ~6 {2 D$ n. n0 O: _' s/ F
1 . 目前,Microsoft .NET Framework 的发行包中包含以下.NET 数据提供程序
5 l+ ~/ ` o4 x* L* X" C! ^) z. CA. SQL Server .NET 数据提供程序
+ a8 O. M6 L- i, B: z. ]B. OLE DB .NET 数据提供程序, ]$ `# A4 g0 F% `
C. ODBC .NET 数据提供程序
4 o) _ @7 F1 a2 g1 qD. XML .NET 数据提供程序/ H# ]) E4 E; B- f# F
2 . 用鼠标右击一个控件时出现的菜单一般称为:
$ ~; Y# G7 ^3 \$ ~. [A. 主菜单
R# v+ S: `% F4 s9 ]0 ]B. 菜单项, G/ b; I; B: J/ V1 {5 h, T
C. 快捷菜单
0 w5 l7 z! E; G. H9 jD. 子菜单
7 c2 X/ E# o$ c: ]( S# T 3 . 如果要设置TextBox为只读的,应设置:
( V% \7 q1 j- j- y$ wA. ReadOnly="true"
3 }+ k. A- H* R9 n! @' ~B. ReadOnly="false"% r5 L! b$ s6 W$ k$ l
C. Enabled="true"5 z! ~$ J( W; s/ C' x
D. Enabled="false"3 b6 a; [ Y3 R- s0 E" T8 f
4 . 为创建在SQL Server中执行Select 语句的Command 对象,可先建立到SQL Server数据库的连接,然后使用连接对象的_______方法创建SqlCommand 对象.
# I6 ?( j! T: ] V: IA. Open9 U' ]: L2 G# \" d/ ~2 Q- ?9 ^0 x
B. OpenSQL
/ Y+ N- C% B) W4 vC. CreateCommand+ c- |4 h7 B+ |( I
D. CreateSQL
' J. T7 T+ ?; M! a 5 . 网页中的表单是()。
. m, W" B" q2 C* b) e" ?1 iA. 一个容器类对象" K2 C3 F' w) m; t) g
B. 一个图像对象
4 l0 E5 Y* Q! Q9 l; g/ q) iC. 一个子网页6 v6 B v! ?5 ~/ M. H
D. 一个对话框+ z0 l2 R2 D1 p/ v: H. c
6 . SQL Server 的Windows 身份验证机制是指,当网络用户尝试连接到SQL Server 数据库时,
4 W5 M# R5 }+ f/ ]A. Windows 获取用户输入的用户和密码,并提交给SQL Server 进行身份验证,并决定用户的数据库访问权限5 _- Y2 B: r: q. `
B. SQL Server 根据用户输入的用户和密码,提交给Windows 进行身份验证,并决定用户的数据库访问权限) ^& h& Z5 d k# i
C. SQL Server 根据已在Windows 网络中登录的用户的网络安全属性,对用户身份进行验证,并决定用户的数据库访问权限: P$ u, d3 x1 e* f+ k# y. o
D. 登录到本地Windows 的用户均可无限制访问SQL Server 数据库
9 x. S5 T9 v( I. J 7 . 分析下列程序:: J4 X- S( \: P) X; |
public class class45 t2 L% g. d+ k
{
' R f9 f6 M( L" ^/ @* n( K3 l6 v4 Vprivate string _sData = "";
7 _1 Z" ^/ l5 s- d: Hpublic string sData{set{_sData = value;}}
- g: \4 K K; }/ i6 J% N}
, Y+ L0 v2 z H& e: z2 m. i' L" ?9 e在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的?/ E. v" m* q* g, h4 b* R* a% z% J
A. obj.sData = "It is funny!";
+ I6 _6 p8 n eB. Console.WriteLine(obj.sData);, Q: Q; p: }5 W: N
C. obj._sData = 100;6 p* _ h5 _# o3 K' k
D. obj.set(obj.sData);! n0 E$ I; u& S0 g" w, ?: q% {
8 . 如果需要确保用户输入大于30的值,应该使用( )验证控件。
! Q) |, X0 \/ m% _A. RequireFieldValidator. b. B: y, p$ j6 p: ?; T, H, x
B. CompareValidator7 w" p {6 K' D
C. RangeValidator
5 O7 Z/ G/ a& {. H+ L; }, o AD. RegularExpressionValidator7 L3 Q3 a9 m+ E; \% m! e+ |5 n
9 . 已知ds1,ds2 分别代表两个不同的DataSet 对象.其中ds1 已包含名为"Customer"的DataTable 对象,且该DataTable 对象被变量dt_Customer 引用.已知dt_Customer表中有100 条记录,则执行下列语句后,新的数据表new_dt_Customer 中包含______条记录.
, Z' Q$ k/ d" H7 S2 r, O( FDataTable new_dt_Customer = dt_Customer.Copy();& C( W0 W( R: |7 V: f4 a
A. 0. Z2 R- [8 P7 n$ k! }+ t. T
B. 100* Q/ e8 w; i5 Q/ j1 s# k
C. 200, O7 c/ n. N$ L9 m8 A7 K# C) O
D. 3001 K! v! x; u+ p+ j. x. S
10 . 下列语句创建了多少个string 对象?( b, ?% T- s3 u: O% E
string[,] strArray = new string[3][4];: |) k$ d$ O$ A" S" j
A. 0+ ]7 e B0 s1 p1 r2 l0 B1 Z' {% X9 I+ U
B. 3
9 L( Z7 l6 { T" x' n2 wC. 4. j' |% V' b8 m# T) }, m( X+ @5 e
D. 127 ~# P1 {% `) \" V6 M
11 . 关于相对路径,以下说法中不正确的是( )。" f; Z$ W- R* N; D, L! N; X: R
A. 相对路径表述的是源端点同目标端点之间的相互位置' q7 G7 y- i5 T+ y" B+ v; }/ s
B. 如果在链接中源端点和目标端点位于一个目录下,则链接路径中只需要指明目标端点的文档名称即可
* q5 S; o% Z4 V. H* C Z ~C. 如果在链接中源端点和目标端点不在同一个目录下,就无法使用相对路径& B; n4 ~0 F: ~; c' x
D. 如果在链接中源端点和目标端点不在同一个目录下,就需要将目录的相对关系也表示出来
3 I8 ]7 ?: [ p 12 . DataAdapter 对象的DeleteCommand 的属性值为null,将造成:
- n. M3 n! C) h u& n& HA. 程序编译错误$ ^" Z3 f% X6 [& ?
B. DataAdapter 在处理DataSet 中被删除的行时,这些行将被跳过不处理
0 g5 u+ n2 _9 s1 E5 r0 qC. DataAdapter 在处理DataSet 中被删除的行时,将引发异常 }, C7 Z. J& `+ \2 T2 [ {
D. DataAdapter 在处理DataSet 中被删除的行时,将出现对话框询问用户如何处理该行
: M: g7 S$ z+ W& V6 [& u: `% X% r 13 . 下面的语句,strpoint的值是( )。0 ^! [0 z5 V$ W5 z
Strpoint=left(”qinxueli@126.com”,3)
4 a l/ y3 |3 ?% B( {" BA. xue
4 B8 r7 k' k: O$ ^5 NB. @, D0 ?( W* p9 q% G. R& y) c! L+ P
C. qin. X' ~# T+ ^- \$ m# b
D. com
' \) B% u" B! b3 W% t 14 . 下列哪些选项可以作为DataSet 的数据源
8 D1 M7 C6 u |4 S; W' N7 zA. SQL Server数据库中的视图 d/ Z( q( t( U$ |: ?
B. Oracle 数据库中的表
" q: i4 P( O2 N7 c+ A/ | x6 eC. XML 文件2 C: X# S4 L! m8 p4 i1 o
D. Excel 制表文件
- W/ Z/ E2 o( T9 B) X" h8 g 15 . ASP.NET窗体文件的扩展名为:
- B$ j( E, R$ `& Z6 O1 `7 AA. .aspx5 G4 _$ X4 J- |, h1 N2 f: u; w' K
B. .ascx
- t1 S0 R2 O: g$ [3 V. C7 ^C. .cs
0 W, ?4 w5 x, @* f* ~2 k% \D. .html
" J z6 x3 @$ R 16 . 验证用户输入的值在18~60的范围内,要使用( )验证控件。
8 p4 w$ i1 Q+ d( i& ?A. RegularExpressionValidatof控件
) @; e' M% E- O; n; v, M0 CB. CompareValidator控件
% J# s; r/ g0 j2 k1 A/ I0 GC. RangeValidator控件
1 K8 u) m0 g1 }7 PD. RequiredFieldValidator控件
; S1 N6 T8 i5 A2 e# S6 } 17 . ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是( )- u$ t( e8 f% M4 [4 {
A. HTML控件和Web控件$ |5 q# v8 J; @, I' I
B. HTML控件和XML控件3 ^% R+ w- Z/ b* ?" F
C. XML控件和Web控件& g) n B2 ]: A
D. HTML控件和IIS控件& m/ p+ g' |) U6 `; s' Q/ Y
18 . 使用Command对象和存储过程进行数据操作时,应将CommandType属性设置为( )。
$ L3 A( p, y+ u3 t% o# SA. CommandType.Text4 G, w# t' D! F/ l* ^8 Q# p
B. CommandType.CommandText
& Q: [2 W8 A' V) L4 d% FC. CommandType.StoredProcedure$ H/ u) b( @4 B% C" Z% y
D. CommandType.Procedure
9 G* v3 s1 f3 Y 19 . 为使用OleDb .NET Data Proviver连接到SQL Server数据库,应将Connection对象的ConnectionString属性中的Provider子属性的值设置为:
3 J& a+ N3 v& J* n) R. W1 @A. Provider=SQLOLEDB/ i! s, K0 Q/ i2 s
B. Provider=SQLSERVER: P+ _. b r4 R' R5 G
C. Provider=Microsoft.Jet.OLEDB.4.03 }% S9 V) H; U- ^- h% s$ j7 b$ y
D. Provider=MSDAORA6 j" S) f Z% h/ X# S
20 . 如果想让Label控件显示特定内容,应设置其哪个属性:
8 l( X8 a) s$ c* {6 `A. Color
2 K" o2 c! A; H" r7 P6 N- J6 n' qB. Text
6 I8 `" Q1 J( M: g3 TC. Font
% M: }% V, ]9 u# S7 T5 wD. Visible- W/ k8 u9 l8 z4 O
二、读程序(共20分)& Q- [7 j- T+ s1 h+ u* Z; G
1. 解释下面C#带下划线代码的意义,5分 ?# L# m& t2 I( L$ M6 \+ h7 P
public void Configure(DateTime date, params string[] countries)
( q1 x5 f& t* w7 L {% N# _* m1 b! R8 k, ^0 a( }: b
DropDownList1.Items.Clear();
' N: Y/ r$ ]9 s9 K5 u1 D+ J. s3 a `
Calendar1.SelectedDate = date;
8 K6 \8 Z' Y6 Y ListItem[] items = new ListItem[countries.Length];
" M7 X2 Z+ G; i6 }3 @ for (int i = 0; i < countries.Length; i++)
& ^) }4 {& ^) l: Q/ J$ c {
5 U4 \/ e3 S' U items = new ListItem(countries); " j+ Q& N; W6 x! \/ C$ g
}7 t2 Y' \0 u( C9 B
DropDownList1.Items.AddRange(items);
" L1 M& P) q/ g1 k }
/ k3 n4 @- T% ?( Y$ N9 B% {- T' b- u; l3 x/ E
2. 解释下面C#带下划线代码的意义,15分
p( k ]6 ~. L/ V8 Sprivate void Button1_Click(object sender, System.EventArgs e) {& P' h, B& o2 o! N4 T
long lngOrderID; / I, F5 L; t) ]# D) N: P0 n
SqlConnection connNwind=new SqlConnection();
0 r8 u( I& H6 g6 J$ d$ j. D( o Try{4 v( M: A6 m8 j) v1 C: \# [/ L
connNwind.ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
6 A; N( M- U) B3 Q0 T connNwind.Open(); & g* o+ Q- r( f$ p; a. a
SqlCommand cmdOrder=new SqlCommand();
) y: N5 Z) B$ e; y C5 l9 T6 G, e* R1 N8 d- w lngOrderID=long.Parse(txtOrderID.Text);
2 Z; S9 n7 Z4 L" Z4 r8 u, s cmdOrder.CommandText="select p.ProductName,ds.Quantity from [order
% I7 |& g1 b' o' R. N1 |5 d" tdetails] as ds inner join Products as p on ds.ProductID=p.ProductID where orderID="+lngOrderID.ToString();
' o* U# C& ~; C& B7 ?0 u cmdOrder.Connection=connNwind;
j1 `7 b4 }/ r6 D6 t& f3 J SqlDataReader readerOrder=cmdOrder.ExecuteReader(); 8 { Z; r7 y0 X( X* R
TableRow trHead=new TableRow(); , T+ n6 A i; M' J0 U7 s" b2 ]
TableCell tdHead1=new TableCell();0 u; \; L- t5 Y' {- l
TableCell tdHead2=new TableCell();
- y4 ^" u. y, n/ F; l8 ~4 t$ `- e tdHead1.Text="商品名称";
. X [/ U+ h& b8 ? tdHead2.Text="商品数量";- H! l" E) x Z ?0 @
tdHead1.BorderStyle=BorderStyle.Solid;
, ~: V$ E' T- x p tdHead1.BorderWidth=1;( x& F. `, F1 _3 m8 x3 {6 V
tdHead2.BorderStyle=BorderStyle.Solid;2 x4 z$ y! _ I# R# _
tdHead2.BorderWidth=1;
; m& K3 [: [8 u: @! S2 E6 C trHead.Cells.Add(tdHead1); ( j, M7 x9 \& l
trHead.Cells.Add(tdHead2);+ N3 b; b1 v6 h
Table1.Rows.Add(trHead);
) X! W' S+ |: Q$ c while(readerOrder.Read()){
' G. h' X+ l) O6 z TableRow tr=new TableRow();% f8 n, Q1 @$ C% Q" P0 ]5 _
TableCell td1=new TableCell();
8 F, \& r0 ^6 Y/ b0 V$ d9 R TableCell td2=new TableCell();
/ {$ h0 @% u% s+ G& \1 H, t td1.Text=readerOrder.GetValue(0).ToString(); . R6 R3 v1 A. i7 C9 G
td2.Text=readerOrder.GetValue(1).ToString();
/ |: ]5 |. j1 j' P9 z4 e td1.BorderStyle=BorderStyle.Solid;
# S7 E3 w- d5 H3 k td1.BorderWidth=1;
" ~) {5 E& B; {, q3 g! ?" t& x0 j+ y td2.BorderStyle=BorderStyle.Solid;
& `1 }" L X; d td2.BorderWidth=1;
; J; Y. _1 d: {2 _' X8 ]- y tr.Cells.Add(td1);% o; B% A1 T0 O: q& P- S
tr.Cells.Add(td2);
: C2 m5 l4 t' g' T tr.BorderWidth=1;7 k- i2 g4 o E
Table1.Rows.Add(tr);8 G" a& r' d4 P# p' P! J0 T( z% R7 S
}
+ m$ I% [- [( n Y$ o6 J connNwind.Close();
) _) c! h. }5 r }. X. z0 E* ]' {* q3 m7 G5 X: ?
catch(Exception ex) {6 P/ r4 h( s) G6 q5 m v' F
Response.Write(ex.Message); ( l8 x9 d% K2 R4 O
}8 k; K2 y* I5 f( I% ^. o! ^2 Z
Finally { J( {# ^( E! {8 P6 J" J$ @
if(connNwind.State!=ConnectionState.Closed)
5 I6 }; g- d+ M connNwind.Close();
$ \. \/ y6 W+ ]$ ?5 M) k7 s4 k: v0 J }
# f, V' m3 O% U/ Y/ F }
1 l3 E F! o- }: d, v# a3 a, C% j" y( ^& U' L% ^ ?' N+ A: m; c+ J
三、程序设计题(共20分)
) q* h7 D' Y& h7 f设计一个动态信息显示页面,显示信息标题、发布人、发布时间等项内容,并按发布时间降序显示。点击信息标题,将在新窗口显示信息的详细信息。* B2 L, h, ~7 t4 m% X0 a5 d3 S
1. 画出此程序的显示介面示意图,并标出所采用的Web服务器组件;7 e( J, G5 U+ ]2 c& F6 H
2. 用表格的形式画出此页面所涉及的数据表设计(包括字段名,数据类型,存储空间,是否主键,可否为空等);
3 w* C" E: y Q" D* l3. 列出程序设计中所采用的Web服务器组件的属性;/ X* ?1 p" a; o: b
4. 写出此程序的设计思路。* a/ Q5 ?' o4 p3 J
1 B) d8 K* I. \3 M* O: Q# u* {' |8 g. I: i6 A! S
8 E& n4 [7 D2 n
! D) w2 b' [- ]2 N
/ w& M5 @2 E6 E8 E0 }- U
* C5 ~4 T6 }( x" d
+ ?1 a; c5 c- b' I9 \
# h6 ~$ q, ?! v6 d: a% x1 W- j+ W1 L$ K! @4 B" @1 M- a4 F/ ^
, F+ |9 d& z5 r( a9 { ~: |" a( d1 V6 [# s# n/ A3 k. L( _
0 V3 x1 h n, l: |& f- t5 f0 r6 \0 R
|
|