VS开发经验文档.docx
- 文档编号:2940361
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:10
- 大小:200.36KB
VS开发经验文档.docx
《VS开发经验文档.docx》由会员分享,可在线阅读,更多相关《VS开发经验文档.docx(10页珍藏版)》请在冰豆网上搜索。
VS开发经验文档
VS2008开发经验汇总
最近在学习VS开发,为了避免初学者走弯路,现将开发过程中收集的相关经验文档,归纳整理分享如下:
1、水晶报表页面显示提示输入密码的问题
解决办法:
在.aspx.cs中加入下列代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Collections.Generic;
usingCrystalDecisions.Shared;
usingCrystalDecisions.CrystalReports.Engine;
publicpartialclass_Default:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
TableLogOnInfoconnectionInfo=newTableLogOnInfo();
connectionInfo.ConnectionInfo.ServerName="localhost";
connectionInfo.ConnectionInfo.DatabaseName="数据库名";
connectionInfo.ConnectionInfo.UserID="sa";
connectionInfo.ConnectionInfo.Password="密码";
ReportDocumentdocument=newReportDocument();
document.Load(Server.MapPath("CrystalReport.rpt").ToString());//加载报表
document.Database.Tables[0].ApplyLogOnInfo(connectionInfo);//应用连接设置
CrystalReportViewer1.ReportSource=document;//设置数据源
}
}
2、水晶报表主报表和子报表制作
新建立一个报表,把主表雇员信息放进去
恩,就是一个很普通的报表
3:
添加子报表,输入一个名称“查看订单信息”,点击“报表向导”
把从表“订单表”的数据摆上去
设置主报表和子报表的连接关系。
注意:
如果有多个字段,点到右边的大框里就行了。
注意下面两个列表框中各个字段(被选到大框里的那些)的对应关系
把子报表放到主报表详细资料节上。
在子报表上点右键,选“设置对象格式”,在出来的界面上切换到“子报表标签”,勾选“按需显示子报表”
4:
好了,设置完毕,执行一下。
在进行报表预览时正常。
在WEB页面中显示时,点击“查看订单信息”,呀!
报错了!
根据提示,是编码太长,右键看一下,好像是很长,具体原因这里先不追究了,返回去想办法。
重新设置子报表的名称,简单点短点的那种,最好不是中文,这样就不会有编码溢出了,如:
View
继续访问,然后点击,ok了~~
3、水晶报表中几种交叉表的实现方法
用一个图直观的说明一下,就是将图1中的数据样式
最终呈现为如图2的效果
实际在使用中,我们可以用两种方式来实现这个效果
一是在数据库端用SQL将数据组织成交叉表,然后对这个数据以普通的报表形式呈现。
在这里,我摘录了网上一篇写的比较直白的文章,请参考此链接。
根据数据的情况,交叉后的列可能是固定的,也可能是不固定的
要注意写法,还要注意不同的数据库的SQL也是不一样的。
如SQLServer和Oracle就有不同。
这里主要是提供个思路。
二是依靠水晶报表来直接实现,我在文章的最后提供了一个操作视频,大家可以看实际的操作步骤。
在这里需要说明一下的是,不是所有的数据,都那么标准,所以需要做一些修正。
水晶报表不仅仅支持从表里取数据,还支持View和SQL命令,存储过程等
所以可以使用View或者SQL命令来实现,在视频的例子中,我就用了这个例子
原始数据是这样的(图3),
为了适用交叉表,将其修正为图1所示。
我做了View来简化后续的操作,对于后续操作来说,使用表和view的效果是一样的。
view脚本为:
select 年份,地区,指标,'最大值' as 数值类别,最大值 as 数值 from test_4
UNION
select 年份,地区,指标,'最小值' as 数值类别,最小值 as 数值 from test_4;
在视频最后,我对交叉表上的一些设置进行了操作,大家可以参考。
如:
如何去除行、列上的合计字段
如何去掉交叉表左上角的缺角等一些基本操作
特别说明一下,要从交叉表导出一张完美的Excel是比较困难的
如果有这种需要,建议使用使用SQL交叉的方式,用一般的报表方式来实现.
请在此处下载操作视频,解压缩密码为:
babyt
/Files/babyt/CR20080505.rar
(本视频为
4、从SQLSERVER2005中将数据库表中的数据导出到电子表格中
复制方向必须是'in'、'out'或'format'。
用法:
bcp{dbtable|query}{in|out|queryout|format}数据文件
[-m最大错误数][-f格式化文件][-e错误文件]
[-F首行][-L末行][-b批大小]
[-n本机类型][-c字符类型][-w宽字符类型]
[-N将非文本保持为本机类型][-V文件格式版本][-q带引号的标识符]
[-C代码页说明符][-t字段终止符][-r行终止符]
[-i输入文件][-o输出文件][-a数据包大小]
[-S服务器名称][-U用户名][-P密码]
[-T可信连接][-v版本][-R允许使用区域设置]
[-k保留空值][-E保留标识值]
[-h"加载提示"][-x生成xml格式化文件]
C:
\DocumentsandSettings\Administrator>bcpDevice_manage.dbo.departmentoutc:
\
department.xls-c-q-S"microsof-vbk5nm"-U"sa"-P"密码"
bcp——命令
Device_manage.dbo.department——数据库表
out——方向
"microsof-vbk5nm"——服务器名
开始复制...
已复制14行。
网络数据包大小(字节):
4096
总时钟时间(毫秒):
1平均值:
(每秒14000.00行。
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VS 开发 经验 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)