gpt4 book ai didi

c# - 具有 IsIDenity 和 cmd.Parameters.Add 的存储过程

转载 作者:太空宇宙 更新时间:2023-11-03 22:15:35 24 4
gpt4 key购买 nike

我正在为自己创建一个 ASP.NET Wiki 来跟踪我在 C# 和其他语言中获得的知识。

我创建了一个存储过程来将类别插入到数据库中,该数据库有两个字段 C_ID(int) 和类别(varchar 25)。在我的 ASP 页面中,没有 C_ID 字段,它会自动递增 IsIdentiy = true;

当我尝试执行它时,它失败了。处理此问题的最佳方法是什么?

代码:

ALTER PROCEDURE dbo.InsertCategory
@ID int,
@CATEGORY varchar(25)
AS

INSERT INTO Wiki
(C_ID, C_Category)
Values (@ID, @CATEGORY)
/* SET NOCOUNT ON */
RETURN

我是否遗漏了要从 .aspx 页面插入的内容? 尝试 {

            //create a command object identifying the Stored Procedure
SqlCommand cmd = new SqlCommand("InsertCategory", conn);

//Set the command type
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add(new SqlParameter("Category", txtAddCatagory));

cmd.ExecuteNonQuery();



}

最佳答案

只需从插入中省略 id。如果您正确配置了 identity,数据库将负责增加数量。例如:

GO
ALTER PROCEDURE dbo.InsertCategory(@CATEGORY varchar(25))
AS
INSERT INTO Wiki (C_Category) Values (@CATEGORY)
GO

要验证 identity 设置是否正确,如果您编写表格脚本,C_id 列应该如下所示;

[C_id] [int] IDENTITY(1,1) NOT NULL,

或者更好:

[C_id] [int] IDENTITY(1,1) PRIMARY KEY,

关于c# - 具有 IsIDenity 和 cmd.Parameters.Add 的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5285138/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com