水晶報表 & DataReader

edwardfay 2006-09-19 02:40:52
我原來制作水晶報表時,是使用的DataSet,將一個xml文件先load到DataSet中,然后設置報表的數據源為這個DataSet,但是如果這個xml文件過大的話(近300M), memory占用太大了

現在改成:數據放在數據庫中,表結構和xml文件中的表結構是一樣的,使用DataReader來讀取數據,并設置報表的數據源為DataReader,

請問:這樣是否行得通?
...全文
251 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
edwardfay 2006-09-20
  • 打赏
  • 举报
回复
哪位用c#做过window程序?
我在代码中,使用完数据库后,写了connection.close()
但在oracle中查看,连接并没有关闭,当我关闭窗口以后,连接才关闭,为什么?
kaixin110 2006-09-19
  • 打赏
  • 举报
回复
Converts a SqlDataReader to a DataSet
只希望對你有幫助


/// <summary>
/// Converts a SqlDataReader to a DataSet
/// http://authors.aspalliance.com/stevesmith/articles/convertReadertoSet.asp
/// <param name='reader'>
/// SqlDataReader to convert.</param>
/// <returns>
/// DataSet filled with the contents of the reader.</returns>
/// </summary>
public static DataSet convertDataReaderToDataSet(SqlDataReader reader)
{
DataSet dataSet = new DataSet();
do
{
// Create new data table

DataTable schemaTable = reader.GetSchemaTable();
DataTable dataTable = new DataTable();

if ( schemaTable != null )
{
// A query returning records was executed

for ( int i = 0; i < schemaTable.Rows.Count; i++ )
{
DataRow dataRow = schemaTable.Rows[ i ];
// Create a column name that is unique in the data table
string columnName = ( string )dataRow[ "ColumnName" ]; //+ "<C" + i + "/>";
// Add the column definition to the data table
DataColumn column = new DataColumn( columnName, ( Type )dataRow[ "DataType" ] );
dataTable.Columns.Add( column );
}

dataSet.Tables.Add( dataTable );

// Fill the data table we just created

while ( reader.Read() )
{
DataRow dataRow = dataTable.NewRow();

for ( int i = 0; i < reader.FieldCount; i++ )
dataRow[ i ] = reader.GetValue( i );

dataTable.Rows.Add( dataRow );
}
}
else
{
// No records were returned

DataColumn column = new DataColumn("RowsAffected");
dataTable.Columns.Add(column);
dataSet.Tables.Add( dataTable );
DataRow dataRow = dataTable.NewRow();
dataRow[0] = reader.RecordsAffected;
dataTable.Rows.Add( dataRow );
}
}
while ( reader.NextResult() );

//------------------------------
reader.Close();//自己加的
//------------------------------

return dataSet;
}
myminimouse 2006-09-19
  • 打赏
  • 举报
回复
数据量大了水晶报表不好用
myminimouse 2006-09-19
  • 打赏
  • 举报
回复
300m,好夸张啊
jc15271149 2006-09-19
  • 打赏
  • 举报
回复
为每个xml文件创建XMLSchema1.xsd,dataset先加载xsd文件,然后在加载xml,可提高速度
ds.ReadXmlSchema();
ds.ReadXml();
edwardfay 2006-09-19
  • 打赏
  • 举报
回复
暈,沒人啊?
内容概要:本文详细介绍了一种基于三电平ANPC-VSG(虚拟同步发电机)构网型逆变器的复合控制策略,聚焦于双闭环控制与中点电位平衡控制的实现,适用于光伏储能系统并网的Simulink仿真模型。该模型为未发表的原创研究成果,涵盖了逆变器在并网过程中的动态响应、稳定性控制以及中点电位的有效调节,旨在提升新能源并网系统的稳定性与电能质量。文中还探讨了多种相关控制技术,如DPWMA调制、正负序分离控制、前馈控制等,充分展现了该系统在复杂电网环境下的适应性与先进性。; 适合人群:面向具备电力电子、新能源并网或自动控制理论基础的科研人员与工程技术人员,特别适合从事光伏储能、虚拟同步机、三电平逆变器等相关课题研究的研究生、高校教师及企业研发工程师。; 使用场景及目标:①用于光伏储能系统并网仿真,验证VSG控制策略在动态响应与稳定性方面的有效性;②研究三电平ANPC逆变器在不平衡工况下的中点电位控制性能;③作为高级电力系统仿真的教学与科研平台,支撑学术论文撰写、项目申报及关键技术攻关。; 阅读建议:建议结合提供的Simulink仿真模型进行实践操作,重点剖析双闭环控制结构的设计原理与中点电位平衡机制的实现细节,同时参考文中提及的DPWMA调制与前馈控制等辅助策略,以拓宽研究视野与技术路径。完整资源可通过指定公众号或网盘链接获取。

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧