删除存储过程中的查询 [英] Delete query in stored procedure

查看:70
本文介绍了删除存储过程中的查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆