错误情况描述如下:
(1)、Menu_ID是UDS_Menu表中的一个类型为int的字段。
(2)、countyCode是sys_userinf表中的一个类型为varchar的字段。
于是在转换的时候,发生如下错误:
将varchar值转换为数据类型为int的列时发生语法错误
解决方法:
用cast()函数进行转换即可,将Menu_ID转换成字符类型即可。cast(Menu_ID as varchar(50)),然后进行匹配和比较就不会发生错误了。
strSQL = "SELECT Menu_ID,[Menu_Name] FROM [UDS_Menu] where cast(Menu_ID as varchar(50)) = (select countyCode as Menu_ID from sys_userinf where [ID]=" + int.Parse(id) + ")";