参考答案:
【问题1】
(1) pointsBalance
(2)pointsUse
(3)call
(4)result
(5)numUse>numBalance
(6)numUse/1000
(7)numUse%1000/500
【问题2】
(8)~/index.aspx
(9)Products
(10)/siteMapNode
【问题3】
(11)Business
(12)strcon
(13)products
(14)productID
(15)ProductList.aspx
注:(13),(14)字母不区分大小写
详细解析:
本题考查基于Android平台的App开发、ASP.NET 站点地图、连接访问数据库等技术。
此类题目要求考生认真阅读题目对问题的描述,题目已经给出了部分程序,分析该部分程序代码,再根据需求描述,补全程序代码。
【问题1】
根据题意,首先创建了4个对象,再分别根据id获取对象,其中积分余额文本框id为‘pointsBalance"、 兑换积分数的输入框id为“pointsUse"、查看可兑换结果的按钮id为“call” 及显示兑换结果的文本框id为“result"。 在查看可兑换结果的按钮单击时,分别获取积分余额文本框和兑换积分数输入框的内容并转换成整型值;然后判断当兑换积分数大于积分余额数时,显示“余额不足”,否则按照最大可兑换代金券数量的原则,应尽可能用1000积分兑换25元代金券,则最多可兑换25元代金券数量为:兑换积分数/1000的整数值,可兑换10元代金券数量为:兑换积分数MOD1000/500的整数值,最后输出兑换结果。完整的程序代码如下:
public class CalculateResultActivity extends Activity {
private TextView numBalanceText = null;
private EditText numUseText = null;
private Button callBtn = null;
private TextView resultView = null;
@Override
public void onCreate (Bundle savedInstanceState) {
super . onCreate (savedInstanceState) ;
setContentView (R. layout . main) ;
numBalanceText = (TextView) findViewById (R. id .pointsBalance) ;
numUseText = (EditText) findViewById (R. id. pointsUse) ;
callBtn = (Button) findViewById(R.id.call) ;
resultView = (TextView) findViewById (R.id. result) ;
callBtn. setOnCl ickListener (new OnClickListener () {
@Override
public void onClick(View v) {
int numBalance= Integer .parse Int (numBalanceText.getText () .
toString() ) ;
int numUse = Integer .parseInt (numUseText . getText () . toString());
if (numUse> numBalance) {
Toast . makeText (MainActivity.this, "余额不足",Toast.
LENGTHSHORT) . show() ;
return;
}
else {
int num25= numUse/1000;
int num10= numUse81000/ 500;
resultView. setText ("可兑换: "+num25 + "张25元代金券,”+ num10+ "张10元代金券") ;
}
}
}) ;
}
}
【问题2】
根据题意,首页在网站根目录下,网页文件名为“index.aspx”,首页的路径应该为“-/index.aspx", 所有产品的页面文件都放在网站根目录下的“Products” 目录中,其中“热销产品”网页文件名为“BestSell.aspx", 其路径应为“~/ Products /BestSell.aspx",“手机”网页文件名为“Mobile.aspx",其路径应为“~/ Products / Mobile.aspx",“iPad”网页文件名为“iPad.aspx",其路径应为“~/Products /iPad.aspx",“蓝牙耳机”网页文件名为“Bluetooth.aspx",其路径应为“~/Products / Bluetooth.aspx"。另外,XML标记一-般是成对出现。完整的程序代码如下:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas .microsoft . com/ AspNET/SiteMap-File-1.0" >
<siteMapNode ur1="~/ index . aspx" title=" 首页" description="首页">
<siteMapNode ur1="~/Products /BestSell.aspx" title="热销产品"
description="热销产品" >
<siteMapNode url="~/ Products/Mobile .aspx" title="手机" description=
"手机”/>
<si teMapNode url="~/ Products/ iPad.aspx" title="iPad"
description="iPad" />
<si teMapNode url="~/ Products /Bluetooth.aspx" title=" 蓝牙耳机"
description="蓝牙耳机”/>
</siteMapNode>
<!--其他站点内容省略-->
</ si teMapNode>
</si teMap>
【问题3】
根据题意,首先设置数据库连接字符串,其中,SQL Server数据库服务器地址为“135.40.3.21”,数据库名为“ Business”,数据库登录用户名为“myBusiness”,密码为“@Business China”, 然后再根据连接字符串创建连接对象。题目要求根据产品编号(productID)的值修改产品(products表)相应的值,修改成功时返回当前路径下的产品查询页面(ProductList.aspx), 否则显示“修改失败”。完整的程序代码如下:
protected void btnSave C1 ick (object sender, EventArgs e)
{
String strcon="server=135. 40.3.21; database=Business; uid=myBusiness;
pwd=@Business_ China";
SqlConnection con = new SqlConnection (strcon); / /新建SQL连接
String sqlStr="update products set productName=' "+txt ProductName .
Text;
sqlStr +="’, price ="+ txtPrice. Text +", detail ='"+ txtDetail.Text;
sqlStr +="’ where productID =’"+lblProductID. Text+”’”;
try
{
con. Open(); //打开 SQL连接.
SqlCommand command = new SqlCommand(sqlStr, con) ;
if (command. ExecuteNonQuery() >0)
{ / /提示成功信息
Response.Write ("<script> alert (修改成功') ;window. location.
href=' ProductList.aspx '; </script> ") ;
}
Else
{//提示失败信息
Response . Write ("<script>alert('修改失败,请检查后重新修改')
</script>") ;
}
}
//异常处理程序省略
}