SQLexception ##附近的语法不正确

时间:2011-10-11 12:26:16

标签: c# sqlexception

我在尝试选择一些值时遇到了一个sqlexception。 错误:'@navn'附近的语法不正确。我环顾四周寻找与我类似的其他问题,但我找不到任何有价值的东西。

我的代码:

public List<Vare> findvareAdvanced(string varenavn)
    {
        Vare v = new Vare();
        List<Vare> lv = new List<Vare>();

        SqlConnection myCon = DBcon.getInstance().conn();

        string query = string.Format("SELECT * FROM Vare WHERE Navn LIKE %@navn%");

        myCon.Open();
        SqlCommand com = new SqlCommand(query, myCon);
        com.Parameters.AddWithValue("navn", varenavn);
        SqlDataReader dr = com.ExecuteReader();
        if (dr.Read())
        {
            v.Stregkode = dr.GetString(0);
            v.Navn = dr.GetString(1);
            v.Pris = dr.GetDecimal(2);
            v.Varegruppenr = dr.GetInt32(3);
            lv.Add(v);

        }
        myCon.Close();




        return lv;
    }

3 个答案:

答案 0 :(得分:2)

尝试,

 string query = string.Format("SELECT * FROM Vare WHERE Navn LIKE @navn");

 com.Parameters.AddWithValue("@navn", "%" + varenavn + "%");

答案 1 :(得分:0)

如果您想要字符串的字面翻译,请在字符串前添加@符号。这将有助于处理转义字符

This问题也可能会有所帮助

string query = string.Format(@"SELECT * FROM Vare WHERE Navn LIKE %@navn%");

答案 2 :(得分:0)

忘了'?

string query = string.Format("SELECT * FROM Vare WHERE Navn LIKE '%@navn%' ");