5

このコードを実行しようとしています

 public long getTopicCountWithTag(String tag)
    {
        long count;
        query = " SELECT count(*) FROM [DB_us2].[dbo].[discns] where tags like '%@tags%'";
        try
        {
            com = new SqlCommand(query, con);
            com.Parameters.AddWithValue("@tags", tag);
            con.Open();          
            sdr = com.ExecuteReader();
            sdr.Read();
            count= sdr.GetInt32(0);

        }
        catch (Exception e)
        {
            count = -1;
            throw e;
        }
        finally
        {
            con.Close();
        }
        return count;
    }

その与える出力0。だから私は問題が何であるかを理解し、管理スタジオでサンプルクエリを実行しようとしますが、出力は異なります1。すべての順列の組み合わせを試した後、このステートメントに問題があると思いますが、クエリで置き換えられないcom.Parameters.AddWithValue("@tags", tag);可能性があります。@tags

4

3 に答える 3

0
query = " SELECT count(*) FROM [DB_us2].[dbo].[discns] where tags like '%'+ @tags + '%'";

何もかもそのままにしておく。

于 2013-10-25T08:17:36.507 に答える
0

する必要があります

 AddWithValue("@tags", "%" + tag + "%");

%s を AddWithValue 内に持ってくる必要があります

于 2013-10-25T08:08:25.757 に答える