我是新手。我不知道如何格式化这看起来是正确的。
这是我的程序代码:
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(字符串,字符串,小数?,字符串,字符串, system.DateTime?,ref long?)'有一些无效的参数。
我不确定我在这里做错了什么。有人可以就如何解决这个问题给我一些建议吗?
答案 0 :(得分:3)
实际上这似乎是一个简单的问题 - 你的itemID参数应该是一个可以为空的长度。插入方法方法正在寻找 ref long ?,您传入 ref long 。