public static DataView RetrunProc(string Proc_Name,SqlParameter[] Para)
{
int i;
SqlConnection myCn = new SqlConnection(strConn);
SqlDataAdapter MyCmd = new SqlDataAdapter(Proc_Name,myCn);
try
{
myCn.Open();
MyCmd.SelectCommand.CommandType=CommandType.StoredProcedure;
for(i=0;i<Para.Length;i++)
{
MyCmd.SelectCommand.Parameters.Add(Para[i]);
}
DataSet Myds = new DataSet();
MyCmd.Fill(Myds,"table");
return Myds.Tables["table"].DefaultView;
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
MyCmd.Dispose();
myCn.Close();
}
}
/**//// <summary>
/// 调用存储过程并报回DataSet
/// </summary>
/// <param name="Proc_Name"></param>
/// <param name="Para"></param>
/// <returns></returns>
public static DataSet RunProcForSet(string Proc_Name,SqlParameter[] Para)
{
int i;
SqlConnection myCn = new SqlConnection(strConn);
SqlDataAdapter MyCmd = new SqlDataAdapter(Proc_Name,myCn);
try
{
myCn.Open();
MyCmd.SelectCommand.CommandType=CommandType.StoredProcedure;
for(i=0;i<Para.Length;i++)
{
MyCmd.SelectCommand.Parameters.Add(Para[i]);
}
DataSet Myds = new DataSet();
MyCmd.Fill(Myds);
return Myds;
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
MyCmd.Dispose();
myCn.Close();
}
}这样就可以通过MyDs.Tables[0],MyDs.Tables[1]等方式访问返回的多个数据集了.
另外,还有一种通过Adapter的方式,我没有测试.
不过,目前有另外一种需求不知道如何解决,就是在存储过程中的print的内容,程序中有没有办法接收到呢?
该博客为转载内容,转载自https://www.cnblogs.com/wwhuzhen/archive/2005/11/24/283461.html ,原内容涉及数据库和PHP方面。

1万+

被折叠的 条评论
为什么被折叠?



