我在 C# 和 SQL Server 中使用 Dapper。我在 SQL Server 中有一个存储过程,可以将一个人插入到我的数据库中。问题是,当我在查询中指定它是一个存储过程时,我得到
找不到存储过程
但没有使用commandType,一切正常。
例如:我有以下代码:
var result = connection.Execute("KBunnyGame_Players_InsertPlayer @Name, @Score, @FacebookId", player, commandType: CommandType.StoredProcedure);
Run Code Online (Sandbox Code Playgroud)
我不断收到错误消息,但是在我更改为:
var result = connection.Execute("KBunnyGame_Players_InsertPlayer @Name, @Score, @FacebookId", player);
Run Code Online (Sandbox Code Playgroud)
我没有再收到错误消息,并且播放器被插入到数据库中。我不知道这是否是预期的行为,对我来说似乎很奇怪。有没有我可以遵循的文件?
编辑:
存储过程代码:
ALTER PROCEDURE [dbo].[KBunnyGame_Players_InsertPlayer]
@Name NCHAR(20),
@Score INT,
@FacebookId NCHAR(50)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO KBunnyGame_Players (name, score, facebookId)
VALUES (@Name, @Score, @FacebookId);
END
Run Code Online (Sandbox Code Playgroud) 我很难理解桌子.它说,双重需要64 bits的空间,它的范围是从10^-324到10^308.十进制需要128 bits的空间,但也表示,它的范围是从10^-28到10^28.那么我在这里理解的是,十进制占用更多空间但是提供更短的范围?这在我脑子里没有多大意义,因为每个人都同意在需要精度时应该使用小数.同样在进行像=的计算时(1/3)*3,欲望结果是1,但只有float并且double给我1,decimal给我0.9999...那么为什么decimal更精确?我真的不明白.
我正在检查facebook sdk并且来到这个功能:
FB.ShareLink(
new Uri("https://developers.facebook.com/"),
callback: ShareCallback
);
Run Code Online (Sandbox Code Playgroud)
我的问题是,回调:意味着什么?是否说明参数应该与该回调链接?如果是这样的话有什么好处?