C# 无法在nvarchar上调用方法

C# 无法在nvarchar上调用方法,c#,asp.net,sql-server-2008,tsql,C#,Asp.net,Sql Server 2008,Tsql,我在asp.net应用程序中使用的简单SELECT语句有一个奇怪的问题。我与MSSQL 2008合作 这句话的作用是: SelectSQL = "SELECT user_id, user_name, user_surname, user_code FROM Users WHERE user_group = '" + drop.SelectedItem.Value + "'"; 然而,这一行抛出“不能在nvarchar上调用方法” 这里有更多的代码,它停在最后一行 public void Fil

我在asp.net应用程序中使用的简单SELECT语句有一个奇怪的问题。我与MSSQL 2008合作

这句话的作用是:

SelectSQL = "SELECT user_id, user_name, user_surname, user_code FROM Users WHERE user_group = '" + drop.SelectedItem.Value + "'";
然而,这一行抛出“不能在nvarchar上调用方法”

这里有更多的代码,它停在最后一行

public void FillTable(Table tab, DropDownList drop)     //naplneni tabulky
    {
        SqlConnection pripojeni = new SqlConnection(connectionString);
        string SelectSQL = "";
        if (action == "groups")
        {
            SelectSQL = "SELECT user_id, user_name, user_surname, user_code FROM Users WHERE user_group = '" + drop.SelectedItem.Value + "'";
        }
        else
        {
            SelectSQL = "SELECT COUNT(DISTINCT Equations.eq_id) AS pocet_prikladu, Users.user_name, User.user_surname FROM Users LEFT JOIN Equations ON (Users.user_id = Equations.eq_user_id) WHERE Users.user_code = '" + drop.SelectedItem.Value + "' GROUP BY Users.user_id, Users.user_name, User.user_surname ";
        }
        try
        {
            SqlCommand prikaz = new SqlCommand(SelectSQL, pripojeni);
            pripojeni.Open();
            SqlDataReader vysledky = prikaz.ExecuteReader();

您可能需要将用户定界为[user]。用户是一个保留关键字

So[User]。User\u姓氏等

同样正如Chris所说,输入错误将User.User\u姓氏更改为Users.User\u姓氏


我猜未限制的[User]问题导致了奇怪的错误

你能发布一个更完整的代码示例吗,包括你如何将查询发送到SQL?你有一个输入错误-User。User_姓应该是Users。User_姓谢谢Chris。现在可以了。又浪费了一个小时去寻找解决方案:有人投了你的反对票,所以当他们留下解释意见时,我让你支持。我们都可以犯一个看起来很苛刻的错误。哈哈,我也犯了同样的错误,但我拒绝了这个解决方案,因为它只是一个错误。但随后,我再次查看了我的查询,结果发现,我在“用户”中也省略了“s”。如果不是因为这篇文章,我永远不会检查拼写错误。非常感谢!您没有使用用户。您正在使用用户,所以在第二个中看起来像是一个打字错误。将其更改为users我仍然认为您得到了该错误,因为它是不受限制的。将其更改为另一个拼写错误,您可能会得到不同的错误。我可能错了。我经常是!:)
public void FillTable(Table tab, DropDownList drop)     //naplneni tabulky
    {
        SqlConnection pripojeni = new SqlConnection(connectionString);
        string SelectSQL = "";
        if (action == "groups")
        {
            SelectSQL = "SELECT user_id, user_name, user_surname, user_code FROM Users WHERE user_group = '" + drop.SelectedItem.Value + "'";
        }
        else
        {
            SelectSQL = "SELECT COUNT(DISTINCT Equations.eq_id) AS pocet_prikladu, Users.user_name, User.user_surname FROM Users LEFT JOIN Equations ON (Users.user_id = Equations.eq_user_id) WHERE Users.user_code = '" + drop.SelectedItem.Value + "' GROUP BY Users.user_id, Users.user_name, User.user_surname ";
        }
        try
        {
            SqlCommand prikaz = new SqlCommand(SelectSQL, pripojeni);
            pripojeni.Open();
            SqlDataReader vysledky = prikaz.ExecuteReader();