Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 查询未按预期工作_C#_Sql Server - Fatal编程技术网

C# 查询未按预期工作

C# 查询未按预期工作,c#,sql-server,C#,Sql Server,我在C语言中执行查询时遇到以下问题 我使用以下方法执行简单查询: public List<DataModel.Vulnerability.VulnerabilitySolution> getVulnerabilitySolutionsList(int vulnId) { List<DataModel.Vulnerability.VulnerabilitySolution> result = new List<Vulnerability

我在C语言中执行查询时遇到以下问题

我使用以下方法执行简单查询:

    public List<DataModel.Vulnerability.VulnerabilitySolution> getVulnerabilitySolutionsList(int vulnId)
    {
        List<DataModel.Vulnerability.VulnerabilitySolution> result = new List<Vulnerability.VulnerabilitySolution>();

        System.Data.Common.DbCommand command;
        command = _connection.CreateCommand();
        command.Connection = this._connection;

        _strSQL = "VS.* FROM VulnerabilityAlertDocument_VulnerabilitySolution VAD_VS"
                  + " INNER JOIN VulnerabilitySolution VS ON VAD_VS.VulnerabilitySolutionId = VS.Id"
                  + " WHERE VAD_VS.VulnerabilityAlertDocumentId = @VULNID ";

        addParameter(command, "@VULNID", vulnId);

        command.CommandText = _strSQL;
        _dt = fillDataTable(command);

        DataModel.Vulnerability.VulnerabilitySolution vulnSolution;

        foreach (DataRow row in _dt.Rows)
        {
            vulnSolution = new DataModel.Vulnerability.VulnerabilitySolution(row);
            result.Add(vulnSolution);
        }

        return result;
    }
问题是,当尝试执行这一行时:_dt=fillDataTablecommand;它抛出以下异常:“*”附近的语法不正确

有什么问题吗?如果我尝试在SQLServer中执行相同的查询,替换参数的值,效果会很好


如何解决此问题?

您需要在VS之前添加单词select*

  _strSQL = "SELECT VS.* FROM VulnerabilityAlertDocument_VulnerabilitySolution VAD_VS"
                  + " INNER JOIN VulnerabilitySolution VS ON VAD_VS.VulnerabilitySolutionId = VS.Id"
                  + " WHERE VAD_VS.VulnerabilityAlertDocumentId = @VULNID ";

您缺少SELECT关键字。从……中选择VS.*看起来有一些我没有注意到添加的新关闭类型。投票关闭,因为这看起来像是一个简单的打字错误。@Dash有趣的是,OP在关闭之前甚至没有机会看到这是否解决了整个问题。@PortlandRunner如果不是这样的话,我们可以取消它。说得对。不,这是一件你可以永远关注并且容易忽略的事情。我们都去过那里