小第做了个方法,是访问DATAREADER的,但是总是出错,同样方法访问DATASET则可以,郁闷呀同,急急。。。

Anhowe 2003-11-14 11:16:12
static string strConnect = "server=baoan;database=Xtreme;user id=sa;password=;";
static SqlConnection objConnection=new SqlConnection(strConnect);


//******************************  取得参数方法  **************************************************************
public static SqlCommand funGetCmd(SqlParameter[] pmtPars,string strSPName)
{
SqlCommand objCmd=new SqlCommand(strSPName, objConnection);////Dim objCmd As New SqlCommand(strSPName, objConnection)
objCmd.CommandType=CommandType.StoredProcedure; //objCmd.CommandType = CommandType.StoredProcedure
//' 添加参数集
if(pmtPars !=null)
foreach(SqlParameter tmpPar in pmtPars)
{
objCmd.Parameters.Add(tmpPar);
}
try
{
return objCmd;
}
catch
{
return null;
}
}
//************************************************************************************************************


//******************************** 返回一个DATAREADER (公用方法)**********************
public SqlDataReader funExecSPdr(SqlParameter[] pmtPars,string strSPName)
{
SqlCommand objCmd=funGetCmd(pmtPars, strSPName);
SqlDataReader dr;
try
{
objConnection.Open();
dr= objCmd.ExecuteReader();
return dr;
}
catch
{
return null;
}
finally
{
objConnection.Close();
objConnection.Dispose();
}

}
//***********************************************************************************************************


//******************************** 返回一个DATAREADER (对具体的一个存储过程的访问)**********************
public SqlDataReader funUserdr(string strUsername)
{
SqlParameter[] objPara={new SqlParameter("@UserName",SqlDbType.NVarChar,20)};
objPara[0].Value=strUsername;
try
{
return ocls.funExecSPdr(objPara,"usp_AAUser_GetTaskInformation");
}
catch
{
return null;
}
}


//以上的为类方法,下面为窗体中的访问 
clsLogin ocls=new clsLogin();//clsLogin为类名
//DataSet ds=new DataSet();
//ds=ocls.funUser();
SqlDataReader dr=ocls.funUserdr("autumn");
while(dr.Read())
{
txt.Text=dr[0].ToString();
}
...全文
58 10 打赏 收藏 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Anhowe 2003-11-14
  • 打赏
  • 举报
回复
to : gshope(北京.Net)
SqlDataReader dr=ocls.funUserdr("autumn");
if (dr!=null)
{
while(dr.Read())
{
txt.Text=dr[0].ToString();
}
}

还是不可以,同样错在while(dr.Read())
haoliqi 2003-11-14
  • 打赏
  • 举报
回复
DataReader 是以独占方式打开连接,用后最好及时关闭连接!
gshope 2003-11-14
  • 打赏
  • 举报
回复
先判断一下:
if(dr!=null)
{
while(dr.Read())
{
......
}
}
Anhowe 2003-11-14
  • 打赏
  • 举报
回复
CSDN的同志们,帮帮忙呀,急死了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
brightheroes 2003-11-14
  • 打赏
  • 举报
回复
//以上的为类方法,下面为窗体中的访问 
clsLogin ocls=new clsLogin();//clsLogin为类名
//DataSet ds=new DataSet();
//ds=ocls.funUser();
SqlDataReader dr=ocls.funUserdr("autumn");
dr.Open();
while(dr.Read())
{
txt.Text=dr[0].ToString();
}

Anhowe 2003-11-14
  • 打赏
  • 举报
回复
TO:cuike519(Power_mj)
谢谢你!!但DATASET为什么又可以呢?我去掉static,同样还是不可以呀,急!!!!!!!!!!!!!
谢谢!!!
cuike519 2003-11-14
  • 打赏
  • 举报
回复
如果用静态变量,再次使用的时候最好先判断(ConnectionState)一下这个连接的状态再Open!
cuike519 2003-11-14
  • 打赏
  • 举报
回复
大概看了一下!可能实施使用了静态变量的原因。静态变量是类级别的变量,一个地方便其他地方都变,所以如果你曾今关闭过那么自然会出错!
Anhowe 2003-11-14
  • 打赏
  • 举报
回复
小弟邮箱是anhowe@msn.com
谢谢
Anhowe 2003-11-14
  • 打赏
  • 举报
回复
错误在
while(dr.Read())
{
txt.Text=dr[0].ToString();
}
dr没有打开,是怎么回事呢?急急,谢谢!!!!!!!!!!!!!!!!
内容概要:本文系统阐述了基于格子Boltzmann方法(LBM)对二维通道内多孔介质流动进行数值模拟的完整理论体系与实现流程,配套提供了详尽的Matlab代码实现方案。研究深入剖析了LBM在复杂流体系统建模中的独特优势,尤其适用于处理多孔介质等具有不规则微观结构的流动问题。内容涵盖LBM的基本离散化模型、演化方程推导、边界条件(如反弹边界、速度边界)的精确处理、多孔介质结构的数字化建模、关键物理参数(雷诺数、孔隙率、渗透率)的设定与调控,以及流场结果的后处理与可视化技术。通过典型算例的仿真与结果分析,验证了该数值方法在捕捉多孔介质内部流速分布、压力梯度及渗透特性方面的有效性与高精度,为相关领域的科学研究与工程应用提供了可靠的数值实验平台。; 适合人群:具备流体力学、计算物理学或相关学科的基础理论知识,熟练掌握Matlab编程语言,正在从事计算流体力学(CFD)、多孔介质渗流、地下水文学、石油工程、生物流体力学或材料科学等领域研究的硕士/博士研究生、青年科研人员及工程技术专家。; 使用场景及目标:①深入学习和掌握格子Boltzmann方法的核心原理、算法流程及其相较于传统CFD方法的独特优势;②复现学术文献中关于多孔介质流动的经典仿真案例,验证自身研究模型的正确性;③为自身的科研课题开发定制化的数值模拟工具,用于探究多孔结构参数对流体输运性能的影响规律; 阅读建议:建议读者结合提供的Matlab代码逐行研读,重点关注LBM算法中“碰撞”与“迁移”两大核心步骤的编程实现逻辑,动手调试代码以观察不同参数(如松弛时间、网格分辨率)对模拟结果的影响,从而加深对介观尺度流体动力学行为的理解,并为进一步的模型拓展和算法优化奠定坚实基础。
【期刊论文复现】基于飞轮锂电池混合储能平抑风电功率策略(Simulink仿真实现)内容概要:本文围绕“基于飞轮锂电池混合储能平抑风电功率波动策略”展开研究,通过Simulink搭建仿真模型,复现并验证了相关期刊论文中的技术方案。文中详细介绍了混合储能系统的工作原理,重点分析了飞轮储能与锂电池在响应速度、能量密度等方面的互补特性,提出一种合理的功率分配策略(如低通滤波或小波变换)将风电波动信号分解为高低频分量,分别由锂电池和飞轮承担,从而有效平抑风电功率波动、延长储能设备寿命。研究涵盖了系统建模、控制策略设计、仿真参数设置及结果分析全过程,并提供了完整的Simulink模型与代码资源。; 适合人群:具备一定电力系统、新能源或自动控制基础知识,从事相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习和复现高水平期刊论文中的混合储能控制策略;② 掌握利用Simulink进行风电-储能系统建模与仿真的方法;③ 深入理解飞轮与锂电池混合储能系统的协同控制机制与优势。; 阅读建议:建议读者结合提供的完整资源(模型、代码、文档)按目录顺序学习,重点关注控制策略的设计逻辑与仿真结果的分析,动手实践以加深理解,并可在此基础上进行参数优化或策略改进。
内容概要:本文系统阐述了基于格子Boltzmann方法(LBM)对二维通道内多孔介质流动进行数值模拟的完整理论体系与实现流程,重点介绍LBM的基本原理、多孔介质的建模策略、边界条件的设置方法,以及碰撞与传播过程的算法设计。通过Matlab编程实现了流场的时间演化过程,对速度分布、压力场等关键物理量进行了可视化分析与定量验证,充分展示了LBM在处理复杂几何结构流动问题中的优势与精度。该研究不仅提供了清晰的算法实现路径,还构建了一套可复现、可拓展的仿真框架,有助于深入理解多孔介质内的渗流机理与宏观流动行为之间的关联。; 适合人群:具备一定流体力学基础知识和Matlab编程能力的研究生或科研人员,尤其适用于从事多孔介质流动、计算流体力学(CFD)或LBM方法研究的相关领域学者。; 使用场景及目标:①掌握格子Boltzmann方法在复杂介质流动模拟中的应用流程;②学习如何利用Matlab实现LBM算法并进行流场仿真;③为相关科研项目或学术论文提供可复现的代码参考和技术支撑;④深化对多孔介质中渗流机理的理解。; 阅读建议:建议读者结合文中理论推导与代码逐行对照学习,动手运行并调试程序以加深理解,同时可尝试修改参数或模型结构以拓展应用场景,提升科研实践能力。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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