删除存储过程中的查询 [英] Delete query in stored procedure
问题描述
aspx代码
if(e.CommandName ==delete)
{
Button btn =(Button)e.CommandSource;
GridViewRow grdrow =((GridViewRow)btn.NamingContainer);
int empid = Convert.ToInt32(GridView1.DataKeys [grdrow。 RowIndex] .Values [id]。ToString());
// string str =从文本中删除id =+ empid +;
// string str =从员工中删除id =+ empid +;
cmd = new SqlCommand(deleteFromTable,con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter sp1 = cmd.Parameters.AddWithValue(@ empid,empid);
con.Open();
// cmd = new SqlCommand(str,con);
cmd.ExecuteNonQuery();
Response.Write(< script> alert('Record deleted secussfully ...')< /脚本>中); <无线电通信/>
con.Close();
显示();
}
storedprocedure
使用测试
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
- ======================== =====================
- 作者:< author ,, name>
- 创建日期:<创建>
- 说明:< description ,,>
创建程序[dbo]。[deleteFromTable ]
@FirstName varchar(50),
@MiddleName varchar(50),
@ LastName varchar(50),
@empid int
作为
开始
从员工中删除id = @ empid
结束
我尝试了什么:
删除它说@FirstName参数是必需的,不提供
aspx code
if (e.CommandName == "delete")
{
Button btn = (Button)e.CommandSource;
GridViewRow grdrow = ((GridViewRow)btn.NamingContainer);
int empid = Convert.ToInt32(GridView1.DataKeys[grdrow.RowIndex].Values["id"].ToString());
//string str = "delete from text where id=" + empid + "";
// string str = "delete From Employee where id=" + empid + "";
cmd = new SqlCommand("deleteFromTable", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter sp1 = cmd.Parameters.AddWithValue("@empid",empid);
con.Open();
// cmd = new SqlCommand(str, con);
cmd.ExecuteNonQuery();
Response.Write("<script>alert('Record deleted secussfully...')</script>");
con.Close();
Show();
}
storedprocedure
Use Test
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <author,,name>
-- Create date: <create>
-- Description: <description,,>
Create Procedure [dbo].[deleteFromTable]
@FirstName varchar(50),
@MiddleName varchar(50),
@LastName varchar(50),
@empid int
As
Begin
Delete from Employee where id=@empid
End
What I have tried:
on delete it says @FirstName parameter is required which is not supplied
推荐答案
嗨
删除前三个参数这些是加法al参数
@FirstName varchar(50),
@MiddleName varchar(50),
@ LastName varchar(50),>
因为当您从C#代码发送输入时,您只向程序发送一个参数,并且程序的实际定义包含4个输入参数。
Hi
Delete first three parameter these are additional parameter
@FirstName varchar(50),
@MiddleName varchar(50),
@LastName varchar(50),
Because when you are sending input from C# code you are sending only one parameter to procedure and actual definition of procedure contains 4 input parameter.
您只从代码中传递一个参数,并且存储过程中有4个参数。您只需要传递1个参数employeeid。删除其他参数
sol: -
You are passing only one parameter from code and there are 4 parameters in store procedure.you only need to pass 1 paramater employeeid. remove other parameters
sol : -
Create Procedure [dbo].[deleteFromTable]
@empid int
As
Begin
Delete from Employee where id=@empid
End
这篇关于删除存储过程中的查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!