2011-01-26 50 views
0

在我的.aspx頁面,我有兩個文本框和一個添加按鈕和一個刪除按鈕。數據庫插入和刪除存儲過程

我想簡單地說,當輸入數據文本框並單擊添加按鈕時,使用存儲過程添加到數據庫。

當輸入數據文本框並單擊刪除按鈕時,使用存儲過程從數據庫中刪除。

我該怎麼做?

只要我需要4個代碼的一部分,add_click()delete_click()sp_addsp_delete

我如何開發這個4個功能?

+3

你到目前爲止嘗試過什麼?你需要很多代碼才能得到答案... – gbn 2011-01-26 06:52:19

回答

7

既然你給我們提示你的表格是什麼樣的,你的文本框是什麼樣的,這只是一種類似於「模板」的方法。

順便說一句:你應該不是前綴存儲過程與sp_ - 該前綴是保留給微軟。

proc_delete

理念:你只是通過在主鍵(通常是某種的ID)將被刪除:

CREATE PROCEDURE dbo.proc_delete(@PrimaryKey INT) 
AS 
    DELETE FROM dbo.YourTable 
    WHERE ID = @PrimaryKey 

proc_add

你不真的告訴我們很多關於你想要做什麼.....所以這裏有一種可能性

CREATE PROCEDURE dbo.proc_add(@value1 VARCHAR(50), @value2 VARCHAR(50)) 
AS 
    INSERT INTO dbo.YourTable(Value1, Value2) 
    VALUES(@value1, @value2) 

從你的ASP.NET代碼,你就必須做到以下幾點:

  • 創建SqlConnection到數據庫
  • 創建一個合適的SqlCommand執行命令你想
  • 成立參數和填充它們的值
  • 執行PROC

所以在delete_click()的情況下,你必須是這樣的:

public void delete_click() 
{ 
    using(SqlConnection _con = new SqlConnection(-your-connection-string-here-)) 
    using(SqlCommand _cmdDelete = new SqlCommand(_con, "dbo.proc_delete")) 
    { 
     _cmdDelete.CommandType = CommandType.StoredProcedure; 

     // add parameter 
     _cmdDelete.Parameters.Add("@PrimaryKey", SqlDbType.Int); 
     _cmdDelete.Parameters["@PrimaryKey"].Value = (your key value here); 

     // open connection, execute command, close connection 
     _con.Open(); 
     _cmdDelete.ExecuteNonQuery(); 
     _con.Close(); 
    } 
} 

這將是如何做到這一點的粗略輪廓 - 我將離開add_click()你了!