SQL select Abfrage mit like

Ich versuche diesen Code auszuführen

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; } 

es gibt Ausgabe 0 . Also versuche ich herauszufinden, was das Problem ist, und führe eine Beispielabfrage auf dem Management Studio aus, aber die Ausgabe ist anders, es gibt 1 . Nach dem Versuch alle Permutation Kombination, ich denke, Problem ist mit dieser Aussage com.Parameters.AddWithValue("@tags", tag); möglicherweise möglich @tags wird nicht in Abfrage ersetzt.

Solutions Collecting From Web of "SQL select Abfrage mit like"

Ich denke deine Anfrage sollte sein

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

Und fügen Sie dem Parameter den Platzhalter hinzu

 com.Parameters.AddWithValue("@tags", "%" + tag + "%"); 

Sollte sein

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

Sie müssen% s in AddWithValue insert

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

und lass alles so wie es war.