varchar声明没有大小的默认长度是1.您在存储的proc参数中声明它的大小,因此您只传递第一个字符.
varchar
更改您的声明:
(@matchTypeName varchar)
相关尺寸:
(@matchTypeName varchar(20))
另外,在代码中添加大小,并确保参数名称中的大小写与存储的proc匹配:
cmd.Parameters.Add("@matchTypeName", SqlDbType.VarChar, 20).Value = matchType;