ado.net 存储过程 返回表

chenfei820715 2010-11-10 12:37:35
写了一个存储过程,但是不知道如何用ado.net连接SQL sever数据库,调用存储过程后返回一个表。给我一段代码吧,各位大哥大姐。
...全文
140 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxingny 2010-11-10
  • 打赏
  • 举报
回复
多得很,一般可以用datase接受
孟子E章 2010-11-10
  • 打赏
  • 举报
回复
asp.net 存储过程

网上很多例子,各种各样的
叶子 2010-11-10
  • 打赏
  • 举报
回复
如果要详细一点的可以看这个:
http://www.csharp-station.com/Tutorials/AdoDotNet/Lesson07.aspx
叶子 2010-11-10
  • 打赏
  • 举报
回复
在webconfig里写数据库连接字符串。

关于调用可以看下面的地址:
http://fwriter.com/38212.html
qq346127416 2010-11-10
  • 打赏
  • 举报
回复
这是最基础的了 楼主多看看书吧
高三石 2010-11-10
  • 打赏
  • 举报
回复

private static SqlConnection sqlcon = null;//数据库连接对象
private static SqlCommand sqlcmd = null;//数据库命令执行对象
private static readonly Object obj = new Object();//线程同步需要的对象
private static string conString = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;


public static SqlConnection Connection
{

get
{
lock (obj)
{
try
{
if (sqlcon == null)
{
sqlcon = new SqlConnection(DBHelper.conString);
sqlcon.Open();
}
else if (sqlcon.State == System.Data.ConnectionState.Closed)
{
sqlcon.Open();
}
else if (sqlcon.State == System.Data.ConnectionState.Open)
{
sqlcon.Close();
sqlcon.Open();
}
else if (sqlcon.State == System.Data.ConnectionState.Broken)
{
sqlcon.Close();
sqlcon.Open();
}
}
catch (Exception ex)
{
throw ex;
}
return sqlcon;
}
}
}
/// <summary>
/// 返回DataTable
/// </summary>
/// <param name="procName">存储过程名称</param>
/// <param name="ps">参数</param>
/// <returns>DataTable </returns>

public static DataTable GetTableProc(string procName)
{
lock (obj)
{
SqlCommand cmd = Connection.CreateCommand();
cmd.CommandText = procName;
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
}


public static DataTable GetTableProc(string procName, SqlParameter[] ps)
{
lock (obj)
{
SqlCommand cmd = Connection.CreateCommand();
cmd.CommandText = procName;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(ps);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
}

/// <summary>
/// 返回SqlDataReader
/// </summary>
/// <param name="procName">存储过程名称</param>
/// <param name="ps">参数</param>
/// <returns>SqlDataReader</returns>
public static SqlDataReader GetReaderProc(string procName, SqlParameter[] ps)
{
lock (obj)
{
SqlCommand cmd = Connection.CreateCommand();
cmd.CommandText = procName;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(ps);
SqlDataReader sdr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return sdr;
}
}
public static SqlDataReader GetReaderProc(string procName)
{
lock (obj)
{
SqlCommand cmd = Connection.CreateCommand();
cmd.CommandText = procName;
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader sdr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return sdr;
}
}

guduheshao 2010-11-10
  • 打赏
  • 举报
回复

public static SqlDataReader excuteReader(string sqlString)
{
string connectionString = "链接字符串";
SqlConnection Conn=new SqlConnection(connectionString);
try
{
Conn.open();
SqlCommand com = new SqlCommand(sqlString, Conn);
com.CommandType = CommandType.StoredProcedure;
return com.ExecuteReader();
}
catch (Exception ex)
{

}
finally
{
Con.Close();
}

guduheshao 2010-11-10
  • 打赏
  • 举报
回复

public static string connectionString = "链接字符串";
public static SqlConnection Conn
{
get
{
if (conn == null)
{
conn = new SqlConnection(connectionString);
return conn;
}
else if (conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
return conn;
}
else
{
conn.Close();
conn.Open();
return conn;
}
}
}
public static SqlDataReader excuteReader(string sqlString)
{
SqlCommand com = new SqlCommand(sqlString, Conn);
com.CommandType = CommandType.StoredProcedure;
return com.ExecuteReader();
}

返回的是Reader对象,为了省事。跟dataset一样的代码,其中sqlString为存储过程名

62,046

社区成员

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

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

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

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