INT与文本不兼容

时间:2014-09-30 12:43:08

标签: sql .net sql-server c#-4.0

我正在尝试将我的.net代码实现的查询出现问题

这是我需要实现的查询

insert into audit (username, action, editdate) 
values(@username, 
      'user=' + @user + ' deleted comboid = convert(varchar(MAX),' + @comboid + ') of '
      + @distributorname, GETDATE()) 

其中comboidint类型

问题是我得到的错误:

  

操作数类型碰撞:int与文本

不兼容

关键是无论我如何转换或转换表达式,我总是会遇到这个错误。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

的“行动”值
'user=' + @user + ' deleted comboid = convert(varchar(MAX),'  + @comboid + ') of ' + @distributorname

你有convert错误的地方。它现在将成为结果字符串的一部分。

你可能意味着:

'user=' + @user + ' deleted comboid = ' + convert(varchar(MAX), @comboid) + ' of ' + @distributorname

答案 1 :(得分:0)

使用CONCAT

insert into audit (username, action, editdate) 
values(
    @username, 
    CONCAT('user=', @user, ' deleted comboid = convert(varchar(MAX),', @comboid, ') of '), 
    GETDATE()
)