访问存储过程以插入表并返回ID时发生C#错误
本文关键字:错误 ID 返回 存储过程 插入 访问 | 更新日期: 2023-09-27 18:20:59
我是新手。我不知道如何将其格式化以使其看起来正确。
这是我的程序代码:
ALTER PROCEDURE dbo.InsertItem
@Metal varchar(10),
@Purity varchar(10),
@Weight decimal(18,2),
@Description varchar(50),
@ModifiedBy varchar(50),
@ModifiedOn datetime,
@Identity bigint OUTPUT
AS
INSERT INTO Item VALUES(@Metal, @Purity, @Weight, @Description, @ModifiedBy, @ModifiedOn)
Set @Identity = SCOPE_IDENTITY()
RETURN
以下是我的C#代码访问过程:
queriesAdapter.InsertItem(temp.metal, temp.purity, temp.weight, temp.description, currentEmployee.Username, DateTime.Now, ref itemID);
以下是temp所指的结构:
public struct ItemInformation
{
public long id;
public string metal;
public string purity;
public decimal weight;
public string description;
public bool fake;
public bool stolen;
public decimal amountPaid;
public decimal estimatedValue;
}
itemID
是一种长数据型
currentEmployee.username
是字符串
这是错误消息:
与'queriesAdapter.Insert(string,string,decimal?,string,string,系统日期时间?,ref long?)'有一些无效的参数。
我不确定我在这里做错了什么。有人能给我一些关于如何解决这个问题的建议吗?
实际上这似乎是一个简单的问题-您的itemID参数应该是一个可以为null的长度。该插入方法正在查找ref long?,您正在传入ref long。