SQLException ## 附近的语法不正确

发布于 2024-12-09 09:03:10 字数 883 浏览 0 评论 0原文

当我尝试选择一些值时,我收到了 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;
    }

I'm getting a sqlexception while im trying to select some values.
The error: Incorrect syntax near '@navn'. I've looked around to find other questions similar to mine, but I can't find anything worth to me.

My code:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一影成城 2024-12-16 09:03:10

尝试,

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

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

Try,

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

 com.Parameters.AddWithValue("@navn", "%" + varenavn + "%");
生来就爱笑 2024-12-16 09:03:10

忘记了'?

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

forgot the ' ?

string query = string.Format("SELECT * FROM Vare WHERE Navn LIKE '%@navn%' ");
溺ぐ爱和你が 2024-12-16 09:03:10

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

这个问题也可能有帮助

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

If you want a literal translation of the string, add an @ symbol before the string. This will help handle escape characters

This question might also help

string query = string.Format(@"SELECT * FROM Vare WHERE Navn LIKE %@navn%");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文