C# 将唯一标识符参数传递给存储过程

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/11724614/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-09 18:57:50  来源:igfitidea点击:

Passing uniqueidentifier parameter to Stored Procedure

c#sql-serveruniqueidentifier

提问by TheGateKeeper

I am trying to pass a uniqueidentifier parameter to a stored procedure using the following code:

我正在尝试使用以下代码将 uniqueidentifier 参数传递给存储过程:

myCommand.Parameters.Add("@BlogID", SqlDbType.UniqueIdentifier).Value = "96d5b379-7e1d-4dac-a6ba-1e50db561b04";

I keep getting an error however saying that the program was unable to convert from string to GUID. Am I passing the value incorrectly?

我不断收到错误消息,说程序无法从字符串转换为 GUID。我是否错误地传递了值?

采纳答案by Daniel A. White

Try this

尝试这个

myCommand.Parameters.Add("@BlogID", SqlDbType.UniqueIdentifier).Value = new Guid("96d5b379-7e1d-4dac-a6ba-1e50db561b04");

回答by Liam

A unique identifier is a GUID. so it's a different object type to your string.

唯一标识符是GUID。所以它与您的字符串是不同的对象类型。

You need

你需要

myCommand.Parameters.Add("@BlogID", SqlDbType.UniqueIdentifier).Value = 
                                        new Guid("96d5b379-7e1d-4dac-a6ba-1e50db561b04");