将Session字符串作为uniqueidentifier传递给sql

时间:2018-02-15 13:59:42

标签: c# session casting guid

我有一个会话变量,它包含一个guid字符串:

Session["Company_Id"] = "4B5E95A7-745A-462F-AE53-709A8583700A"; 

我想将此作为参数传递给SQL Server:

所以添加参数:

cmd.Parameters.Add("@Company_Id", System.Data.SqlDbType.UniqueIdentifier).Value = Session["Company_Id"];

当调用存储过程时,我得到:

  

System.InvalidCastException:'无法将参数值从String转换为Guid。'

感谢任何指导; - )

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

cmd.Parameters.Add("@Company_Id", System.Data.SqlDbType.UniqueIdentifier).Value = Guid.Parse(Session["Company_Id"]);

答案 1 :(得分:0)

您可以使用Guid方法将其作为Guid.Parse传递,该方法会将您string的{​​{1}}代表转换为Guid

Guid

您的命令代码将变为:

Guid.Parse(Session["Company_Id"].ToString());