首页 > 解决方案 > uniqueidentifier 与 newid() 不兼容

问题描述

string insert =@"INSERT INTO SysUser (UserId, UserPw, FullName, Email, CorporateId, UserRole, Active, ActivationToken) 
VALUES ('{0}', HASHBYTES('SHA1', '{1}'), '{2}', '{3}', {4}, 'user',0, NEWID() )";

if (DBUtl.ExecSQL(insert, usr.UserId, usr.UserPw, usr.FullName, usr.Email, usr.CorporateId) == 1)
{
  usr.ActivationToken = Guid.NewGuid();
  string baseUrl = string.Format("{0}://{1}", HttpContext.Request.Scheme, HttpContext.Request.Host);

   ...
}

我将 ActivationToken 作为唯一标识符数据类型存储在我的数据库中,但是在我执行之后,它说

操作数类型冲突:uniqueidentifier 与 int 不兼容

暗示 newid() 是 int 数据类型?在“ActivationToken”中插入 guid 的正确数据类型是什么?在此先感谢您的帮助!

标签: c#

解决方案


推荐阅读