如果我在Toad中运行此查询:
SELECT BANDID, BANDNAME
FROM WOODSTOCK
WHERE BANDNAME LIKE '%THE%'..it的工作非常出色,它返回一大堆行。然而,在代码中可能等同的是:
const string sql = @"SELECT BANDID, BANDNAME
FROM WOODSTOCK
WHERE BANDNAME LIKE '%:BANDNAMEPORTION%'";
. . .
ocmd.Parameters.Add("BANDNAMEPORTION", BandNamePortion);
. . ....returns没有记录。
发布于 2012-06-23 02:07:21
好吧,“假设等价”显然不是等价的,因为它不起作用。您的参数名称包含在引号中,因此不会被视为参数。我怀疑你想要:
const string sql = @"SELECT BANDID, BANDNAME
FROM WOODSTOCK
WHERE BANDNAME LIKE :BANDNAMEPORTION";
. . .
ocmd.Parameters.Add("BANDNAMEPORTION", "%" + BandNamePortion + "%");发布于 2012-06-23 02:10:38
另一种选择是
const string sql = @"SELECT BANDID, BANDNAME
FROM WOODSTOCK
WHERE BANDNAME LIKE '%' + @BANDNAMEPORTION + '%';";
. . .
ocmd.Parameters.Add("BANDNAMEPORTION", BandNamePortion);https://stackoverflow.com/questions/11161764
复制相似问题