2011-01-26 1 views
0

На моей странице .aspx у меня есть две текстовые поля и одна кнопка добавления и одна кнопка удаления.Вставка и удаление базы данных с сохраненной процедурой

Я хочу просто, когда вы вводите текстовые поля и нажимаете кнопку добавления, добавляя в базу данных хранимую процедуру.

При вводе текстовых полей данных и нажатии кнопки удаления удалите из базы данных хранимую процедуру.

Как я могу это сделать?

Просто мне нужно 4 часть кода, add_click(), delete_click(), sp_add, sp_delete

Как я могу развивать этот 4 функции?

+3

Что вы пробовали? Вы просите много кода для одного ответа ... – gbn

+2

Просьба также указать свои знания/опыт и области сложности, так как невозможно дать вам ответ, когда мы не знаем, с чего начать. Сейчас все будет в порядке, ответ должен быть крошечным заявлением. –

ответ

7

Поскольку вы даете нам какой-либо намек на то, что ваши таблицы и как ваши текстовые поля будут, это просто подход, подобный шаблону.

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 выполнить команду, которую вы хотите
  • настроить параметры и заполнить их значения
  • выполнить процедурный

So в случае 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() до вас!

Смежные вопросы