2

Toadでこのクエリを実行すると、次のようになります。

SELECT BANDID, BANDNAME
FROM WOODSTOCK
WHERE BANDNAME LIKE '%THE%'

..それはちょうどダンディに動作し、行の束を返します。ただし、おそらくコードで同等のものは次のとおりです。

const string sql = @"SELECT BANDID, BANDNAME
            FROM WOODSTOCK
            WHERE BANDNAME LIKE '%:BANDNAMEPORTION%'";
. . .
ocmd.Parameters.Add("BANDNAMEPORTION", BandNamePortion);
. . .

...レコードを返しません。

4

2 に答える 2

9

まあ、それが機能しないことを考えると、「おそらく同等」は明らかに同等ではありません。パラメータ名は引用符で囲まれているため、パラメータとして扱われません。私はあなたが欲しいと思う:

const string sql = @"SELECT BANDID, BANDNAME
            FROM WOODSTOCK
            WHERE BANDNAME LIKE :BANDNAMEPORTION";
. . .
ocmd.Parameters.Add("BANDNAMEPORTION", "%" + BandNamePortion + "%");
于 2012-06-22T18:07:21.233 に答える
5

別のオプションは

const string sql = @"SELECT BANDID, BANDNAME
        FROM WOODSTOCK
        WHERE BANDNAME LIKE '%' + @BANDNAMEPORTION + '%';";
. . .
ocmd.Parameters.Add("BANDNAMEPORTION", BandNamePortion);
于 2012-06-22T18:10:37.940 に答える