【发布时间】:2013-09-27 10:46:29
【问题描述】:
我正在尝试在我的数据库中插入数据。这是我使用的代码
SqlCommand cmd = new SqlCommand("dbo.UsersInsert", cnn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@UserID", SqlDbType.Int);
cmd.Parameters.AddWithValue("@UserFirstName", FirstName.Text);
cmd.Parameters.AddWithValue("@UserMiddleName", MiddleName.Text);
cmd.Parameters.AddWithValue("@UserLastName", LastName.Text);
等等……
它给了我错误
过程或函数“UsersInsert”需要参数“@UserID”,它 未提供。
在 cmd.ExecuteNonQuery();行。
在这里,我的用户 ID 是在我的数据库中自动生成的。我该如何解决这个问题?
存储过程
@UserID INT OUTPUT,
@UserFirstName VARCHAR (50),
@UserMiddleName VARCHAR (50),
@UserLastName VARCHAR (50), etc...
AS
SET NOCOUNT ON
DECLARE @ReturnValue int
BEGIN
SELECT @ReturnValue = 0
INSERT [Users]
(
[UserFirstName]
,[UserMiddleName]
,[UserLastName] etc...
values (
@UserFirstName,
@UserMiddleName,
@UserLastName, etc.. )
IF (@@Error <> 0) GOTO ERROR_HANDLER
GOTO OnExit
END
【问题讨论】:
-
我认为你不应该添加为参数
标签: c# sql database sql-server-2008 autogeneratecolumn