C# 编写sql存储过程以从表中删除数据?
我有一个简单的应用程序,它将数据存储到名为student table的sql server数据库表中。姓名、性别和registeredtimedatetime。在我的WPF窗口中,我有三个字段可将数据插入表中。现在,我希望有一个基于用户(datetimepicker)输入的delete按钮 如何从与用户给出的日期相比已有7天的表中删除数据C# 编写sql存储过程以从表中删除数据?,c#,sql-server-2008,stored-procedures,C#,Sql Server 2008,Stored Procedures,我有一个简单的应用程序,它将数据存储到名为student table的sql server数据库表中。姓名、性别和registeredtimedatetime。在我的WPF窗口中,我有三个字段可将数据插入表中。现在,我希望有一个基于用户(datetimepicker)输入的delete按钮 如何从与用户给出的日期相比已有7天的表中删除数据 我希望有一个可以从c代码调用的存储过程。我可以尝试这样的操作,但从studenttable中选择*registereddate
我希望有一个可以从c代码调用的存储过程。我可以尝试这样的操作,但从studenttable中选择*registereddate
DELETE StudentTable
WHERE DATEADD(day,-7,GetDate()) > registeredDate
确保先执行等效的选择,以确保删除所需内容:
SELECT * FROM StudentTable
WHERE DATEADD(day,-7,GetDate()) > registeredDate
您的存储过程如下所示:
CREATE PROCEDURE DeleteRecent AS
BEGIN
DELETE StudentTable
WHERE DATEADD(day,-7,GetDate()) > registeredDate
END
GO
我希望这有帮助如果我正确地阅读了您的问题,您只需将SELECT*FROM语法替换为DELETE语法即可 然后将日期作为c中的存储过程参数传入
DELETE ST
--SELECT *
FROM StudentTable ST
WHERE DATEADD(day,-7,GetDate()) > registeredDate
这是一个小技巧,可以让你在第一次跑步前检查你将在delte Station影响的记录。只需从SElect on上运行以检查记录chosemn,那么您就知道在执行此操作之前,delte将影响正确的记录
CREATE PROC
(@date smalldatetime)
AS
BEGIN
DELETE studenttable
WHERE registereddate < (@date - 7)
END
小贴士:
您希望避免在WHERE子句中的regsitereddate上执行任何函数,以便仍可使用索引。
@日期称为参数。也可以查看C函数中的参数。其他关键字有:sqlcommand、addwithvalue等。
**创建或替换过程删除任何ENO编号 是 开始 从EMP1中删除 其中EMP_ID=ENO 结束 召唤
执行DELETE_ANY1 如果这是作业,请将其标记为作业。+1我不小心删除了很多行,因为我忘了先选择它们。@Matthew PK,这就是为什么我喜欢查询的组合形式
DELETE ST
--SELECT *
FROM StudentTable ST
WHERE DATEADD(day,-7,GetDate()) > registeredDate
CREATE PROC
(@date smalldatetime)
AS
BEGIN
DELETE studenttable
WHERE registereddate < (@date - 7)
END
-- =============================================
-- Author: XXXX
-- Create date: xx-xx-xxxx
-- Description: Procedure for Deleting From Table
-- =============================================
CREATE PROCEDURE [dbo].[SP_Employee_Delete]
(
@EmpCode bigint=null,
@Msg nvarchar(MAX)=null OUTPUT
)
AS
BEGIN TRY
DELETE FROM tbl_Employees
WHERE EmpCode=@EmpCode
SET @Msg='Employee Deleted Successfully.'
END TRY
BEGIN CATCH
SET @Msg=ERROR_MESSAGE()
END CATCH
GO