使用存储过程插入和删除数据库

时间:2011-01-26 06:49:38

标签: c# asp.net database stored-procedures button

在我的.aspx页面中,我有两个文本框,一个添加按钮和一个删除按钮。

我想简单地说,在输入数据文本框并单击“添加”按钮时,使用存储过程添加到数据库。

输入数据文本框并单击“删除”按钮时,使用存储过程从数据库中删除。

我该怎么做?

我只需要4个代码部分,add_click()delete_click()sp_addsp_delete

我如何开发这个4功能?

1 个答案:

答案 0 :(得分:8)

既然你给了我们任何暗示你的桌子的样子以及你的文本框是什么,这只是一个“模板”的方法。

BTW:您应该 sp_前缀存储过程添加前缀 - 该前缀是为Microsoft保留的。

<强> 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()留给你!