【发布时间】:2014-02-10 10:40:00
【问题描述】:
我正在寻找如何在 C# 中使用 Linq-to-SQL 来使用存储过程。
这是我的存储过程:
ALTER PROCEDURE [dbo].[uploadImage] @ppr INT,
@imagename VARCHAR,
@imagecontent VARCHAR,
@imagebinary IMAGE
AS
BEGIN TRANSACTION
IF EXISTS (
SELECT ImageID
FROM [ImageStorage]
WHERE ImageID = (
SELECT codeimg
FROM Agent
WHERE PPR = @ppr
)
)
BEGIN
--select ImageBinary from [ImageStorage] where ImageID = ( select codeimg from Agent where PPR=@ppr)
UPDATE ImageStorage
SET ImageName = @imagename,
ImageContentType = @imagecontent,
ImageBinary = @imagecontent
WHERE imageID = (
SELECT codeimg
FROM Agent
WHERE PPR = @ppr
)
END
ELSE
INSERT INTO ImageStorage (
ImageName,
ImageContentType,
ImageBinary
)
VALUES (
@imagename,
@imagecontent,
@imagebinary
)
COMMIT
谢谢
【问题讨论】:
-
您可能只想进行更新并检查@@ROWCOUNT 以决定进行更新。我相信它在服务器上的工作会更少(现在你正在查询它是否存在)
标签: c# asp.net sql-server linq