SQLEXCEPTION附近有语法错误##
问题描述:
我得到SQLException,而我尝试选择一些值。 错误:近“@navn”不正确的语法。我环顾四周寻找类似于我的其他问题,但我找不到任何值得我的东西。SQLEXCEPTION附近有语法错误##
我的代码:
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;
}
答
尝试,
string query = string.Format("SELECT * FROM Vare WHERE Navn LIKE @navn");
com.Parameters.AddWithValue("@navn", "%" + varenavn + "%");
+0
THX,即工程:) –
+0
+1想什么他实际上正在努力去做。您还可以添加'WHERE Navn LIKE( '%' + @navn + '%')'到你的答案;对于他不能改变参数值的情况。 –
答
如果你想字符串的直译,字符串前加一个@
符号。这将有助于处理转义字符
This问题也可能有助于
string query = string.Format(@"SELECT * FROM Vare WHERE Navn LIKE %@navn%");
答
忘了“?
string query = string.Format("SELECT * FROM Vare WHERE Navn LIKE '%@navn%' ");
看到这个问题的答案:http://stackoverflow.com/questions/664314/c-constructing-paramater-query-sql-like –