C - 程序设计及应用教程(第2版)课后答案 - - 人民邮电出版社 - (马俊、邓居英、杨湖 - 著)[1]

2026/4/25 21:37:58

}

}

public Form1() {

InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) {

string connectionstring = Properties.Settings.Default.MyDatabaseConnectionString ; SqlConnection conn = new SqlConnection(connectionstring); try {

conn.Open();

SqlDataAdapter adapter = new SqlDataAdapter(

\性别 from person where 性别> 18 \ DataSet dataset = new DataSet(); adapter.Fill(dataset, \

dataGridView1.DataSource = dataset.Tables[\ adapter.Dispose(); }

catch (Exception err) {

MessageBox.Show(err.Message); } finally {

conn.Close(); } }

5、调用存储过程,设计程序完成下列功能:任意给出一个汉字,统计MyTable2中所有包 含该汉字的人数,并显示统计结果。 【解答】

using System;

using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text;

using System.Windows.Forms; using System.Data.SqlClient; namespace 习题9_5 {

public partial class Form1 : Form {

public Form1() {

InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) {

SqlConnection conn =

new SqlConnection(Properties.Settings.Default.MyDatabaseConnectionString); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn;

//设置SQL语句为存储过程名,命令类型为存储过程 cmd.CommandText = \ cmd.CommandType = CommandType.StoredProcedure;

} } //添加存储过程中参数需要的初始值,注意参数名要和存储过程定义的参数名相同 if( textBox1.Text==\ {

MessageBox.Show(\请输入有效信息\错误\ textBox1.Focus(); return ; }

cmd.Parameters.AddWithValue(\ cmd.Parameters.AddWithValue(\

//指定哪些参数需要返回结果 cmd.Parameters[\ try {

conn.Open(); //执行存储过程

cmd.ExecuteNonQuery(); //显示返回的结果

MessageBox.Show(string.Format(\有{0}条含 {1} 的记录\ cmd.Parameters[\

} catch (Exception err)

{ MessageBox.Show(err.Message); } finally

{ conn.Close(); }

}

习题 10 参考解答

1、简要说明如何使用CrystalReportViewer和ReportDocument对象模型。 【解答】

使用CrystalReportViewer对象模型,首先在VS2005中创建水晶报表文件.rpt,然后通 过CrystalReportViewer控件将该报表封装到对象模型中,

与报表进行交互。但建议使用CrystalReportViewer控制报表的外观显示形式,不要使用 CrystalReportViewer对象直接与报表交互,

ReportDocument对象模型比CrystalReportViewer功能多、范围广。该对象模型提供了 在代码中处理报表的各种能力。在VS2008中创建水晶报表文件.rpt,完成报表设计后,选 择主菜单中的【生成】【生成解决方案】

型,在工具箱中即可以看到自动生成的与报表同名的组件,将该组件拖放到设计窗体后,即 得到实例,使用该实例的属性完成对报表结构及报表内部数据的各种控制。

2、嵌入式水晶报表和非嵌入式水晶报表有什么相同点和不同点?在Windows应用程序中, 能否使用非嵌入式水晶报表? 【解答】

相同点:都需要创建水晶报表文件.rpt。 不同点:

①嵌入式报表具有与.rpt文件对应的同名包装类,直接通过代码与包装类进行交互,而 不是与原始报表文件本身进行交互。非嵌入式报表则单独以.rpt文件形式存在报表,该报表 不包含在项目内,也没有对应的报表包装类。

②对于嵌入式报表,系统对项目进行编译时,与其他项目资源一样,报表和其包装类都 会被自动嵌入到程序集中,用户看不到被包装后的.rpt文件。对于非嵌入式报表,如果是 ASP.NET网站,要求该.rpt文件保存在网站根目录下,如果是Windows应用程序则要求分 发后.rpt文件保存在和.exe文件相同的目录下。

③对于嵌入式报表,如果修改了报表内容,必须重新编译整个项目。非嵌入式报表修改 了报表内容,不须重新编译整个项目。

在Windows应用程序中,可以使用非嵌入式水晶报表。但要求分发后.rpt文件保存在 和.exe文件相同的目录下(通过Application.StartPath访问该目录) 中,水晶报表.rpt文件的【生成操作】属性改为“无” 【复制到输出目录】属性改为“始终复制”

习题 11 参考解答

1、类库和控件库的主要区别是什么? 【解答】

类库是指独立提供的组件。类库本身不能单独运行,只能被其他程序调用。这里需要说明 一点,之所以称这个.dll文件为类库而不直接叫动态链接库,是因为“动态链接库”这个词 包含的范围太广,不管是.NET之前的组件技术还是基于.NET的组件技术,也不管是组件还 是控件,只要扩展名为.dll的文件都叫动态链接库。为了区分组件和控件,我们才将不带界 面的组件叫“类库”

2、特性(Attribute)和属性(Property)的作用各是什么?举例说明如何利用特性控制属性 窗口中的属性分类。 【解答】

特性实际上是由一个或多个继承自Attribute类的特殊类的简称。从用途上来看,可以将 特性理解为一种标记,该标记用于提供目标元素的信息。目标元素可以是程序集、类、构造 函数、

返回值、结构或其他特性(Attribute)

例如,下面的代码在属性ErrorMessage的上方声明了DefaultValue特性和Description特性。

[DefaultValue(null)]

[Description(\提示信息\验证\ public string ErrorMessage{ get; set; }


C - 程序设计及应用教程(第2版)课后答案 - - 人民邮电出版社 - (马俊、.doc 将本文的Word文档下载到电脑
搜索更多关于: C - 程序设计及应用教程(第2版)课后答案 - - 人民 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219