多个存储过程完整实例及调用方法

来源: 作者: 2007-10-24 出处:pcdog.com

.net  stp  存储过程  
下一页 1 2 3 

  ①为什么要使用存储过程?

  因为它比SQL语句执行快.

  ②存储过程是什么?

  把一堆SQL语句罗在一起,还可以根据条件执行不通SQL语句.(AX写作本文时观点)

  ③来一个最简单的存储过程

CREATE PROCEDURE dbo.testProcedure_AX
AS
select userID from USERS order by userid desc

  注:dbo.testProcedure_AX是你创建的存储过程名,可以改为:AXzhz等,别跟关键字冲突就行了.AS下面就是一条SQL语句,不会写SQL语句的请回避.

  ④我怎么在ASP.NET中调用这个存储过程?

  下面黄底的这两行就够使了.

public static string GetCustomerCName(ref ArrayList arrayCName,ref ArrayList arrayID)
    {
      SqlConnection con=ADConnection.createConnection();
      SqlCommand cmd=new SqlCommand("testProcedure_AX",con);
      cmd.CommandType=CommandType.StoredProcedure;
      con.Open();
      try
      {
        SqlDataReader dr=cmd.ExecuteReader();
        while(dr.Read())
        {
          if(dr[0].ToString()=="")
          {
            arrayCName.Add(dr[1].ToString());
          }
        }
        con.Close();
        return "OK!";
      }
      catch(Exception ex)
      {
        con.Close();
        return ex.ToString();
      }
    }

  注:其实就是把以前

  SqlCommand cmd=new SqlCommand("select userID from USERS order by userid desc",con);

  中的SQL语句替换为存储过程名,再把cmd的类型标注为CommandType.StoredProcedure(存储过程)

  ⑤写个带参数的存储过程吧,上面这个简单得有点惨不忍睹,不过还是蛮实用的.

  参数带就带两,一个的没面子,太小家子气了.

CREATE PROCEDURE dbo.AXzhz
/*
这里写注释
*/
@startDate varchar(16),
@endDate varchar(16)
AS
select id from table_AX where commentDateTime>@startDate and commentDateTime
<@endDate order by contentownerid DESC



下一页 1 2 3 
上一篇:使用gSoap实现企业级数据存储应用
下一篇:基于 ODBC 自动存储自动定期删除数据库记录