C#中调用存储过程能否用sqldataadapter????------waiting!!!!

dhdhdh 2003-09-11 03:56:50
我见到的都是用sqldatareader来做的,能否用SqlDataAdapter
的方法将结果放在dataset中?最好给些代码,谢谢!

还有,我如果用函数调用的方式,返回sqldatareader,但是我发现第一条记录就是不见了,请问如何通过这种方式得到完整的结果集呢???
...全文
58 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mythutest 2003-09-11
  • 打赏
  • 举报
回复
给你我的代码

public DataSet GetProduct(int smallclassID)
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlDataAdapter myDataAdapter = new SqlDataAdapter("GetProduct",myConnection);
myDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;
SqlParameter mySmallClassID = new SqlParameter("@smallclassID",SqlDbType.Int,4);
mySmallClassID.Value = smallclassID;
myDataAdapter.SelectCommand.Parameters.Add(mySmallClassID);
DataSet myProduct = new DataSet();
myDataAdapter.Fill(myProduct);
return myProduct;
}
dhdhdh 2003-09-11
  • 打赏
  • 举报
回复
visualcpu(Banaler) :
比如你要先用ExceuteQuery()这个方法,如果返回值大于0就用Read()这个方法!
-->
不懂,能否给个example!!!
CMIC 2003-09-11
  • 打赏
  • 举报
回复
可以:
DataTable cmicDt=new DataTable();
SqlCommand cmicCmd=new SqlCommand("GetDateMoney",tempCn);
cmicCmd.CommandType=CommandType.StoredProcedure;
cmicCmd.Parameters.Add(new SqlParameter("@StartTime",SqlDbType.DateTime));
cmicCmd.Parameters["@StartTime"].Value=tempStartTime;
cmicCmd.Parameters.Add(new SqlParameter("@EndTime",SqlDbType.DateTime));
cmicCmd.Parameters["@EndTime"].Value=tempEndTime;

SqlDataAdapter cmicDa=new SqlDataAdapter(cmicCmd);
cmicDa.Fill(cmicDt);
seesea125 2003-09-11
  • 打赏
  • 举报
回复
mydatareader = mycommand.ExecuteReader(CommandBehavior.CloseConnection);
这么写系统自动关闭
dhdhdh 2003-09-11
  • 打赏
  • 举报
回复
还有,我return sqldatareader,那么我如何关闭该connection呢,.net能自动关闭吗,如何
手动关闭呢???
dhdhdh 2003-09-11
  • 打赏
  • 举报
回复
ok,知道了,但是我如何判断是否为空呢(不用read)????
visualcpu 2003-09-11
  • 打赏
  • 举报
回复
比如你要先用ExceuteQuery()这个方法,如果返回值大于0就用Read()这个方法!
visualcpu 2003-09-11
  • 打赏
  • 举报
回复
不可以

你发现第一条记录不见了是不可能的

是你代码有问题!
你一定要先看看是不为空才能用Read()这个方法!
seesea125 2003-09-11
  • 打赏
  • 举报
回复
sqldatareader向前只读,如果判断if(my.read())时,指针就向前移动了一条了,不要判断或用dataset
树猫 2003-09-11
  • 打赏
  • 举报
回复
1 我想不能
2 你的代码贴出来看看

62,040

社区成员

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

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

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

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