|
东 北 大 学 继 续 教 育 学 院
; J1 z/ Z k' I1 w; }+ i. }% R9 U# {% ]' v
Web程序设计 试 卷(作业考核 线上) A 卷
& q& U7 h# m7 a# h- e9 e8 C学习中心: - S( ]7 \0 f( E$ G, t
院校学号: 姓 名:
8 r4 Q- T, V* ~' o% X, B p( E4 y t* H/ M- G" V" l+ z* \
(共 7 页)
) c! d6 N, d! w0 s总分 题号 一 二 三 四 五 六 七 八 九 十
3 R G& r7 D5 ?# ? 得分
; A/ A" R) e: Q5 Q
) b4 H5 K6 F! ?5 G9 B/ P2 R Q一、选择题(请将所有正确资料写到答题卡中,每小题3分,共60分); E& N7 @9 K9 p3 ~! M0 v
答; t; u8 q Q ] X5 t3 }
题% k0 I$ n! K4 C+ h. M
卡 题号 1 2 3 4 5 6 7 8 9 10
" c" U% h% I, N" m( N# w" o 资料
# J. c) D, M. h7 t0 d 题号 11 12 13 14 15 16 17 18 19 20
' y6 M: r$ S: c! _ 资料 * [ [# P( V; J" G2 \
" h" J. S+ {* m! K1 . 目前,Microsoft .NET Framework 的发行包中包含以下.NET 数据提供程序
+ p5 E8 q) C" e' w6 i WA. SQL Server .NET 数据提供程序
5 B: ]! W: e+ j$ D% F2 Q% {B. OLE DB .NET 数据提供程序
5 ^8 I: F- ^9 s& uC. ODBC .NET 数据提供程序7 m. B+ l& o" p2 \9 k5 @
D. XML .NET 数据提供程序
: D! n0 P9 c m+ { 2 . 用鼠标右击一个控件时出现的菜单一般称为:
! } x) V* X8 H* j* [A. 主菜单# _+ c( w! N, \- E
B. 菜单项' `2 Z! m) f5 J8 O6 S
C. 快捷菜单
/ Y. j. C$ u9 V" ]( m6 m) eD. 子菜单( |5 ^ a# g. ?8 D- \% @- E
3 . 如果要设置TextBox为只读的,应设置:
( S# |4 V1 m2 ]/ y3 W0 n* BA. ReadOnly="true"7 t6 C' r0 P$ `0 J
B. ReadOnly="false"/ T2 c# `5 a7 V2 ]8 c& x; E# v* y
C. Enabled="true"% W; c4 G3 b2 k/ I* t w
D. Enabled="false"
7 p/ b- i8 h j 4 . 为创建在SQL Server中执行Select 语句的Command 对象,可先建立到SQL Server数据库的连接,然后使用连接对象的_______方法创建SqlCommand 对象.7 G9 ~ m, B; M
A. Open
6 k9 x- p4 }- B9 }0 r( xB. OpenSQL
f/ ]2 u i* D4 s! pC. CreateCommand' P8 v5 Q5 Z' q' P; n( }# ^/ F3 |
D. CreateSQL0 A8 V3 `) E; X) i
5 . 网页中的表单是()。- K( S I, @% \3 P* q2 l" A; f
A. 一个容器类对象. x1 \% o1 s C* Y- [2 L. L
B. 一个图像对象
: I Z2 R: o6 q! ~; Q2 m# t- g. rC. 一个子网页4 _! @) m3 B. M8 n! F- o1 |
D. 一个对话框! b, k/ `0 {# v/ k; p
6 . SQL Server 的Windows 身份验证机制是指,当网络用户尝试连接到SQL Server 数据库时,+ P$ P& i8 c6 V. `9 ~) H
A. Windows 获取用户输入的用户和密码,并提交给SQL Server 进行身份验证,并决定用户的数据库访问权限! m0 k4 ~. Z4 Y' s' }
B. SQL Server 根据用户输入的用户和密码,提交给Windows 进行身份验证,并决定用户的数据库访问权限/ O" g- \6 s/ `3 v2 }1 d& l7 i
C. SQL Server 根据已在Windows 网络中登录的用户的网络安全属性,对用户身份进行验证,并决定用户的数据库访问权限0 g6 C; o- p+ {1 y. `- F/ W
D. 登录到本地Windows 的用户均可无限制访问SQL Server 数据库
. X4 G7 D& k4 d 7 . 分析下列程序:
2 K' |3 q- g& M6 e2 G" fpublic class class4
: n* D7 @: S# W2 k1 y8 U9 Z{
, Q0 F# e: e6 W1 O/ Q& T* l* ]private string _sData = "";
. b* A" E5 A r" D$ Q# Apublic string sData{set{_sData = value;}}
' \3 V0 L. ?6 f! O* ^2 i}$ f/ l9 x* D8 O$ I+ D
在Main 函数中,在成功创建该类的对象obj 后,下列哪些语句是合法的?
8 [0 f/ f. E: ~( F8 IA. obj.sData = "It is funny!";! d1 r* ]0 ~5 `+ W2 _& }
B. Console.WriteLine(obj.sData);* D4 O& B9 ?* X ^% Y7 c
C. obj._sData = 100;
# g3 R' x$ ?7 {; t" {, Y8 o3 J! vD. obj.set(obj.sData);1 p' c( j+ F4 g5 R0 P
8 . 如果需要确保用户输入大于30的值,应该使用( )验证控件。9 p2 {8 Q# k6 ]- ?9 M
A. RequireFieldValidator! i0 @+ y- N' v) }/ U; p7 k% f2 W
B. CompareValidator
+ W9 n# i# F* N$ ]3 lC. RangeValidator
5 u$ v `/ | H: x; FD. RegularExpressionValidator( e9 Q9 v$ Q/ {/ K
9 . 已知ds1,ds2 分别代表两个不同的DataSet 对象.其中ds1 已包含名为"Customer"的DataTable 对象,且该DataTable 对象被变量dt_Customer 引用.已知dt_Customer表中有100 条记录,则执行下列语句后,新的数据表new_dt_Customer 中包含______条记录.
5 L$ b/ ~! ? z9 T' Y9 sDataTable new_dt_Customer = dt_Customer.Copy();
- G6 ^7 k* h9 G( JA. 0& w, i4 T2 x8 M
B. 100% X* v4 d) P1 W; x6 @0 m
C. 2003 E f# }# S9 F. s; |
D. 300
& v9 {# Q) |3 g. K$ A% {% @' Z$ W9 S 10 . 下列语句创建了多少个string 对象?
% e/ |5 V" a' C7 M; I! cstring[,] strArray = new string[3][4];
2 s5 e' F) C7 y( |0 i1 |A. 0
9 r& e' s' S% A, C IB. 3
* x5 Y, H Q- w( a/ P$ s0 xC. 4( N: ]9 @$ G% |! S* g4 n2 o$ z
D. 12: v* e5 n9 I4 m% ]* N' V
11 . 关于相对路径,以下说法中不正确的是( )。
9 w/ D* `6 W1 k. e: x ]" QA. 相对路径表述的是源端点同目标端点之间的相互位置, N6 w0 P- b6 `/ s& o, I* N, {
B. 如果在链接中源端点和目标端点位于一个目录下,则链接路径中只需要指明目标端点的文档名称即可5 A9 u( g0 |- X) P; A4 `5 J
C. 如果在链接中源端点和目标端点不在同一个目录下,就无法使用相对路径6 ~$ @; u5 f# S0 e3 ^2 A8 K. S& I# E5 V
D. 如果在链接中源端点和目标端点不在同一个目录下,就需要将目录的相对关系也表示出来
! j" w8 ?* T! g 12 . DataAdapter 对象的DeleteCommand 的属性值为null,将造成:4 e( G9 v' Z! C$ F/ g
A. 程序编译错误4 t* m7 ~# l, G) y% R. H
B. DataAdapter 在处理DataSet 中被删除的行时,这些行将被跳过不处理
# g. B) m' [; j( _; yC. DataAdapter 在处理DataSet 中被删除的行时,将引发异常
9 s. b4 j- M& l: b6 G1 WD. DataAdapter 在处理DataSet 中被删除的行时,将出现对话框询问用户如何处理该行
) a: }! ~0 e7 `8 U9 O% T 13 . 下面的语句,strpoint的值是( )。) [3 N0 p5 w( g' U& T% \& v
Strpoint=left(”qinxueli@126.com”,3); ]2 z6 Y4 J. v& M2 z( i
A. xue8 D8 {+ R' m5 Q8 s( j
B. @
& b4 o; s0 }" YC. qin
5 V2 y- o# d2 w9 }D. com6 z+ }: C/ D6 M8 ]9 r: I; e- H+ H
14 . 下列哪些选项可以作为DataSet 的数据源' u8 z( i# [) _8 r& ~3 `; {+ v% U
A. SQL Server数据库中的视图
- z% s: p# X5 L. J/ u6 @B. Oracle 数据库中的表
4 v% x$ K7 K- ^5 ~C. XML 文件
6 |: W6 g0 R0 i% {$ n b" @D. Excel 制表文件6 V) {5 C* d* ~5 k; s
15 . ASP.NET窗体文件的扩展名为:1 j0 e. t9 F+ Q3 h
A. .aspx
+ N* x, P: H- o/ K7 E- g! X( cB. .ascx
3 i) G' N K6 N! oC. .cs$ M0 K6 S8 A9 ^) [. Y! ]
D. .html
% y" S& P6 {! C5 x; _0 J2 Y' z 16 . 验证用户输入的值在18~60的范围内,要使用( )验证控件。; ?& m. C2 r: K+ d) h
A. RegularExpressionValidatof控件
2 q0 G) `5 q: v8 P+ Y4 `B. CompareValidator控件
9 S* o' O$ P8 X: u8 p" HC. RangeValidator控件
7 B9 b) W( Y, Q' T5 m: iD. RequiredFieldValidator控件
4 h+ ?5 }; X4 m% u3 W 17 . ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是( )0 P. M+ |' t7 |: }/ {4 y
A. HTML控件和Web控件
& E$ H8 y" o4 ^B. HTML控件和XML控件
0 S( b, x: L6 c+ a' ^! VC. XML控件和Web控件
% ?7 B: M+ k. n7 I+ n# {9 HD. HTML控件和IIS控件
: M8 ~8 ^1 T" m/ ?& b 18 . 使用Command对象和存储过程进行数据操作时,应将CommandType属性设置为( )。' N9 X8 c& P2 o/ t! G
A. CommandType.Text( i3 w0 g/ S0 o0 x! D; i
B. CommandType.CommandText
" h! V0 ?7 G- h7 S7 J5 d1 e6 f# ]1 oC. CommandType.StoredProcedure
# @) g4 v5 F2 s dD. CommandType.Procedure
* N s- [( N) Q- r' x 19 . 为使用OleDb .NET Data Proviver连接到SQL Server数据库,应将Connection对象的ConnectionString属性中的Provider子属性的值设置为:, y7 p9 K" I7 q$ c( n2 f; V1 S
A. Provider=SQLOLEDB! Z9 S4 F6 g$ g. @( V
B. Provider=SQLSERVER4 k, ?( Z O1 ^( A% \4 T3 N$ Y2 U1 ~
C. Provider=Microsoft.Jet.OLEDB.4.03 }1 G ?" u% h) U- a4 s& u2 `
D. Provider=MSDAORA3 E8 N; a z& Z$ Q$ ], _ o7 t
20 . 如果想让Label控件显示特定内容,应设置其哪个属性:
0 }+ ~- q0 V" z$ b0 pA. Color E3 {5 \; r( ]# r: {! j
B. Text
. C- u {5 Z; s1 fC. Font0 T. }$ h/ e; S2 t, |
D. Visible
( g: I5 h9 m3 F$ O8 R( ?: h& P二、读程序(共20分)
% U, q2 V! w0 T% {, h4 Y S* B! n1. 解释下面C#带下划线代码的意义,5分
" o2 e6 o i. @; i' E, w public void Configure(DateTime date, params string[] countries)! D! R+ s" E3 B, C, q
{& [, H+ ` s. d
DropDownList1.Items.Clear(); ( ^4 [/ ~9 V) g6 O5 q
) |+ R$ a. D: B2 P Calendar1.SelectedDate = date; 1 z3 U4 M, a0 @7 c' U' U
ListItem[] items = new ListItem[countries.Length];
8 v; O8 D; A& s) E( M5 s5 X" T2 D for (int i = 0; i < countries.Length; i++)! a1 Y' t8 y+ D0 H/ G8 A9 l7 i5 k9 h
{
' [$ H( u' j. V7 q) g( c0 V items = new ListItem(countries); : j, P- M( V) b" a- @1 X
}* z3 g' B! {/ y/ M1 x+ S/ J
DropDownList1.Items.AddRange(items); , p- P: k2 Z4 ] V; A2 g
}
& o- [3 o) f4 |' a5 T( C6 \( c4 p: l
. `5 Y) e5 S( Q2. 解释下面C#带下划线代码的意义,15分# _3 `: W% W; D
private void Button1_Click(object sender, System.EventArgs e) {
& g& |0 @2 @1 G7 c! d3 m7 R7 j( c% e long lngOrderID; F4 h5 {% H. {8 F8 M( ]$ E
SqlConnection connNwind=new SqlConnection();
4 e) g) p e$ {2 y Try{
6 f. j( i" z' [: g+ l; @+ s connNwind.ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";5 `7 R1 L# l/ a& c
connNwind.Open(); ( L: I3 d) _. x( R
SqlCommand cmdOrder=new SqlCommand(); : q0 R: v" x5 A9 o
lngOrderID=long.Parse(txtOrderID.Text); J, m) K2 D: M7 }7 O9 o+ }
cmdOrder.CommandText="select p.ProductName,ds.Quantity from [order* e; v/ L6 L" E
details] as ds inner join Products as p on ds.ProductID=p.ProductID where orderID="+lngOrderID.ToString();5 J) @4 Q: Y7 Z0 B& p: v) s$ j
cmdOrder.Connection=connNwind;
, D" e; r/ a; i1 n2 x SqlDataReader readerOrder=cmdOrder.ExecuteReader();
0 Y& A5 i0 ?7 B' _% P TableRow trHead=new TableRow();
) ]) H* W. @2 R, C, R( D TableCell tdHead1=new TableCell();8 t& t$ z6 K E/ h
TableCell tdHead2=new TableCell();1 z$ E8 W) p* y& z6 Q T* T
tdHead1.Text="商品名称"; 4 q/ c& r% j7 z+ P3 d
tdHead2.Text="商品数量";7 |$ h4 d" B( k7 e, k
tdHead1.BorderStyle=BorderStyle.Solid;
5 W5 A2 y0 Z* D! i. f tdHead1.BorderWidth=1;
) n: A* T7 `; ?/ |% [ tdHead2.BorderStyle=BorderStyle.Solid;
" r: k1 x2 }+ N) P) x, I; x, ^ tdHead2.BorderWidth=1;
$ U4 z) |, r) S Z; w trHead.Cells.Add(tdHead1); 8 p$ f0 q( `/ w+ E' v% J
trHead.Cells.Add(tdHead2);
7 b6 _! R! E% J8 F/ K' b: g Table1.Rows.Add(trHead);
* T# [- G/ h+ F while(readerOrder.Read()){
( X4 c1 @( \8 K1 P TableRow tr=new TableRow();
+ m; [4 P$ U* |) c) X* T TableCell td1=new TableCell();
, m2 p0 J0 x* a, c, G4 d+ Z, p TableCell td2=new TableCell();
6 C7 T. K F9 _0 E+ h2 Q3 U+ d td1.Text=readerOrder.GetValue(0).ToString(); $ U& ?! m, k$ p+ `
td2.Text=readerOrder.GetValue(1).ToString();
* n1 B; D) g; L! R) m3 Q td1.BorderStyle=BorderStyle.Solid;
% U0 u1 A6 @3 @+ Z td1.BorderWidth=1;9 X Z& P# g( c7 p9 j5 b/ B3 Q4 D
td2.BorderStyle=BorderStyle.Solid;2 Y, x* B+ `" h5 }1 S! h3 z
td2.BorderWidth=1;
4 L+ n+ X5 x/ w! W. t tr.Cells.Add(td1);
+ ?$ \$ @' j' B; u$ j tr.Cells.Add(td2);) y8 P+ y) u4 z, p8 f5 P
tr.BorderWidth=1;
* v0 {6 _3 ]) @) b Table1.Rows.Add(tr);
; n: M x9 h3 v7 u6 }1 W+ O }
/ ]9 L2 A( d. X2 H' j# ~ connNwind.Close();# q' F9 }0 O; g. A; E
}( a9 S- ^9 `4 y# W* u" w" Z5 G
catch(Exception ex) {3 j, Q: y/ J9 z+ Q c. }
Response.Write(ex.Message);
^ [ C' B& u) V# C$ A* A. u) q }
4 h* s# ` ?( v" q Finally {
" ?6 Q: M1 p) c% y# a* |" C if(connNwind.State!=ConnectionState.Closed)
# n" M; _9 V; E connNwind.Close(); ) N8 C2 D: P& S6 q
}" w. h. X+ H# n# Y( K
}" k W' V9 c' V, g6 |+ m/ q" R
3 o5 ^2 L7 d7 Y4 n4 t% l1 l
三、程序设计题(共20分)
1 ?$ X s! w, p+ v$ ~设计一个动态信息显示页面,显示信息标题、发布人、发布时间等项内容,并按发布时间降序显示。点击信息标题,将在新窗口显示信息的详细信息。
% V# ^$ S6 d4 m+ }/ \1. 画出此程序的显示介面示意图,并标出所采用的Web服务器组件;/ o8 P6 m+ P. y$ ^3 t
2. 用表格的形式画出此页面所涉及的数据表设计(包括字段名,数据类型,存储空间,是否主键,可否为空等);& t1 @9 O7 z, Q. `/ s n4 Y
3. 列出程序设计中所采用的Web服务器组件的属性;
8 e/ C7 Q# e2 `4 Q4. 写出此程序的设计思路。
5 C3 ^+ }! K2 v* L" I |
|