C# 更新/插入SQL Server数据库表

C# 更新/插入SQL Server数据库表,c#,sql-server,C#,Sql Server,我有一个用C#编写的程序,带有SQL Server数据库。数据库中有一个表(ProcessData),有3列:ID(主键,自动ID)、Start(日期时间)、End(日期时间) 还有许多线程每隔几分钟/秒将新行插入数据库表(ProcessData) 我只想在开头插入ID和Start列,然后根据ID在几分钟/秒后添加End列 我该怎么做 非常感谢,除非我遗漏了什么,否则您可以在开始时执行一个insert语句 INSERT INTO tblProcessData (Start) VALUES (@S

我有一个用C#编写的程序,带有SQL Server数据库。数据库中有一个表(
ProcessData
),有3列:
ID
(主键,自动ID)、
Start
(日期时间)、
End
(日期时间)

还有许多线程每隔几分钟/秒将新行插入数据库表(
ProcessData

我只想在开头插入ID和Start列,然后根据ID在几分钟/秒后添加End列

我该怎么做


非常感谢,

除非我遗漏了什么,否则您可以在开始时执行一个insert语句

INSERT INTO tblProcessData (Start) VALUES (@Start)
然后,稍后将生成一个update语句

UPDATE tblProcessData SET End=@End WHERE ID=@ID

有许多方法可以剥猫皮,但这是T-SQL方法之一,因此您希望插入新行,捕获新创建的ID,然后更新该行

像这样的

DECLARE @NewID INT

INSERT INTO dbo.tblProcessData(Start) VALUES (@Start)
SELECT @NewID = SCOPE_IDENTITY()
后来:

UPDATE dbo.tblProcessData 
SET End = @End 
WHERE ID = @NewID
这就是你要找的吗???

你的桌子 处理数据包含

ID(PK, auto-ID)
Start(DateTime)
End(DateTime)
质疑


好的,还有一个非常重要的问题:如何从insert语句中获取ID?SCOPE_IDENDITY()函数包含范围的最后一个插入ID。选择它;)marc_s留下的答案是我的更完整版本,包括返回ID等
Insert Into ProcessData(Start) values (your value)

After some time

Update ProcessData Set End=(your value) where ID= (your ID)