数据库里存储过程新建并写入:
CREATE PROCEDURE dbo.spShoppingCartEmpty
(
    @CartID VARCHAR(50)
)
AS
DELETE FROM ShoppingCart
WHERE
    CartID = @CartID
GO
程序数据层里(用的ASP.net):
public void EmptyCart(string sCartID)
{
   ConnOpen();
   SqlCommand1 = new SqlCommand("spShoppingCartEmpty",Conn)
   SqlCommand1.CommandType = CommandType.StoredProcedure;
   SqlParameter param1 = new SqlParameter("@CartID",SqlDbType.VarChar,50);
   SqlCommand1.Parameters.Add(param1);
   param1.Value = sCartID;
   SqlCommand1.ExecuteNonQuery();
}
以上是正确的..是在数据库里写存储过程,在程序数据层里调用..
我最近才开始学存储过程.我听人说存储过程可以不用写在数据库里,可以直接写在程序里..我想问一下,写在程序里是直接写在数据层里吗?直接在数据库里建个public void函数然后把
CREATE PROCEDURE dbo.spShoppingCartEmpty
(
    @CartID VARCHAR(50)
)
AS
DELETE FROM ShoppingCart
WHERE
    CartID = @CartID
GO
这些写在时面?还是有相应的建存储过程的函数的?能不能指点下我,就这个东西给个例子..

解决方案 »

  1.   

    存储过程可以不用写在数据库里,可以直接写在程序里???????关注.................
      

  2.   

    我也弄不懂!请那位大侠多多指教..........
      

  3.   

    存储过程可以不用写在数据库里 ,那这个存储过程还有什么优势?还能说是存储过程么?
      

  4.   

    晕,那还写个毛存储过程。
    你可以写在程序里,但只需执行一次,以后调用就行了。如果每次都生成新的存储过程,还不如不写。
      

  5.   

    可以在程序里写存储过程,但要保存在数据库里!!!
      

  6.   

    很少有人把存储过程写在程序里吧,如果写在程序里那岂不是失去了存储过程的优势了吗?
    在程序中只写一个专门调用他的类就行了啊