-2

我想在我的表中添加血型。它只存储为“A”,同时我想将数据存储为“A+”。

我正在使用存储过程。

ALTER PROCEDURE [dbo].[spInsertBloodGroup]


@ids as int,
@des as nvarchar(2000),
@abbri as nvarchar(2000),
@Datet as datetime

AS

Begin


insert into  tblbloodgroup(intSeqId,varDescription,varAbbrivation,dtCreationDate) 
values ( @ids ,@des ,@abbri ,@Datet)

同时我的输入值来自写为的 C# 文件。

string recordSave = "spInsertBloodGroup'" + seqID+ "','" + Description + "','" + Name + "','" + dateModed + "'";
4

1 回答 1

0

考虑使用 SqlCommand 来调用您的存储过程,而不是执行手动字符串连接。

var sp = new SqlCommand("spInsertBloodGroup", conn)
{
    CommandType = CommandType.StoredProcedure
};

sp.Parameters.Add("@ids", SqlDbType.Int, seqID);
sp.Parameters.Add("@des", SqlDbType.NVarChar, Description);
sp.Parameters.Add("@abbri", SqlDbType.NVarChar, Name);
sp.Parameters.Add("@Datet", SqlDbType.Int, dateModed);

sp.ExecuteNonQuery();

虽然,我不得不问你为什么要创建一个模拟插入语句的存储过程?为什么不直接为 Insert 创建一个 SqlCommand 并直接调用它呢?存储过程是否会执行您没有向我们展示的其他事情?

于 2013-11-19T09:06:11.920 回答