网络编程 
首页 > 网络编程 > 浏览文章

asp.net中调用存储过程的方法

(编辑:jimmy 日期: 2024/5/9 浏览:3 次 )

本文实例讲述了asp.net中调用存储过程的方法。分享给大家供大家参考,具体如下:

一、建立并调用一个不带参数的存储过程如下:

CREATE PROCEDURE 全部学生<dbo.selectUsers>
AS SELECT * FROM 学生
GO
EXEC 全部学生

建立并调用一个带参数的存储过程如下:

CREATE PROCEDURE 学生查询1
@SNAME VARCHAR(8),@SDEPT VARCHAR(20)
AS SELECT * FROM 学生 WHERE 姓名=@SNAME AND 所在系=@SDEPT
GO
EXEC 学生查询1 '张三','计算机系'

或:

EXEC 学生查询1 @SNAME='张三',@SDEPT='计算机系'

(2)删除存储过程:

DROP PROCEDURE<存储过程名组>

二、在asp.net中调用存取过程:

DBHelper.cs

//不带参数
public static DataTable GetList(string sqlDBO)
{
  DataSet ds = new DataSet();
  SqlCommand cmd = new SqlCommand(sqlDBO, Connection);
  cmd.CommandType = CommandType.StoredProcedure; //指定命令类型为存储过程
  SqlDataAdapter da = new SqlDataAdapter(cmd);
  da.Fill(ds);
  return ds.Tables[0];
}
//带参数
public static DataTable GetList(string sqlDBO,params SqlParameter[] values)
{
  DataSet ds = new DataSet();
  SqlCommand cmd = new SqlCommand(sqlDBO, Connection);
  cmd.CommandType = CommandType.StoredProcedure; //指定命令类型为存储过程
   cmd.Parameters.AddRange(values);
   //cmd.Parameters.AddWithValue("@参数1", 值1); 
   //cmd.Parameters.AddWithValue("@参数2", 值2);
  SqlDataAdapter da = new SqlDataAdapter(cmd);
  da.Fill(ds);
  return ds.Tables[0];
}

UsersService.cs

//不带参数
public static IList<Users> GetUserList()
{
  List<Users> list = new List<Users>();
  DataTable table = DBHelper.GetList("存储过程名称");
  foreach (DataRow row in table.Rows)
  {
    Users users = new Users();
    users.Id=(int)row["id"];
    users.UserName=(string)row["userName"];
    users.Password=(string)row["password"];
    list.Add(users);
  }
  return list;
}
//带参数
public static IList<Users> GetUserList(string userName,string password)
{
  List<Users> list = new List<Users>();
  SqlParameter[] para=new SqlParameter[]
  {
    new SqlParameter("@userName",userName),
    new SqlParameter("@password",password)
};
  DataTable table = DBHelper.GetList("存储过程名称",para);
  foreach (DataRow row in table.Rows)
  {
    Users users = new Users();
    users.Id=(int)row["id"];
    users.UserName=(string)row["userName"];
    users.Password=(string)row["password"];
    list.Add(users);
  }
  return list;
}

更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net字符串操作技巧汇总》、《asp.net操作XML技巧总结》、《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。

希望本文所述对大家asp.net程序设计有所帮助。

上一篇:在ASP.NET 2.0中操作数据之三十七:DataList批量更新
下一篇:[翻译]Scott Mitchell 的ASP.NET 2.0数据教程
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网