C# c-MVC3中的Sql错误

C# c-MVC3中的Sql错误,c#,sql,C#,Sql,我不断听到一个错误,说: csql错误附近的语法不正确 但我看不出原因。我在Studio Management中运行过这个,运行起来没有任何问题。 以下是我的方法: public string GetSecurityDetails(int contactId) { ContactId = contactId; using (DataAccess da = new DataAccess()) { da.Execute("SELECT c.ContactId

我不断听到一个错误,说:

csql错误附近的语法不正确

但我看不出原因。我在Studio Management中运行过这个,运行起来没有任何问题。 以下是我的方法:

public string GetSecurityDetails(int contactId)
{
    ContactId = contactId;

    using (DataAccess da = new DataAccess())
    {
        da.Execute("SELECT c.ContactId,c.SecurityQuestionAnswer,q.Name" +
                   "FROM profile.SecurityQuestion q" +
                   "INNER JOIN profile.Contact c ON q.SecurityQuestionID = c.SecurityQuestionFK" +
                   "WHERE c.ContactID = @Contact",new SqlParameter("@Contact",contactId));

        while(da.Read())
        {
            SecurityAnswer = da.GetValue<string>("securityQuestionAnswer");
            SecurityQuestion = da.GetValue<string>("Name");
            break;
        }
    }
}

我正在Visual Studio 2010中使用ASP.NET MVC 3。

您的查询中缺少空格:

da.Execute(
           "SELECT c.ContactId,c.SecurityQuestionAnswer,q.Name FROM profile.SecurityQuestion q " +
           "INNER JOIN profile.Contact c ON q.SecurityQuestionID = c.SecurityQuestionFK " +
           "WHERE c.ContactID = @Contact",new SqlParameter("@Contact",contactId)
           );
但我将使用@before字符串,以便它可以是多行的:

da.Execute(
           @"SELECT c.ContactId,c.SecurityQuestionAnswer,q.Name FROM profile.SecurityQuestion q
           INNER JOIN profile.Contact c ON q.SecurityQuestionID = c.SecurityQuestionFK
           WHERE c.ContactID = @Contact",new SqlParameter("@Contact",contactId)
           );

您的查询中缺少空格:

da.Execute(
           "SELECT c.ContactId,c.SecurityQuestionAnswer,q.Name FROM profile.SecurityQuestion q " +
           "INNER JOIN profile.Contact c ON q.SecurityQuestionID = c.SecurityQuestionFK " +
           "WHERE c.ContactID = @Contact",new SqlParameter("@Contact",contactId)
           );
但我将使用@before字符串,以便它可以是多行的:

da.Execute(
           @"SELECT c.ContactId,c.SecurityQuestionAnswer,q.Name FROM profile.SecurityQuestion q
           INNER JOIN profile.Contact c ON q.SecurityQuestionID = c.SecurityQuestionFK
           WHERE c.ContactID = @Contact",new SqlParameter("@Contact",contactId)
           );

您的查询中缺少空格:

da.Execute(
           "SELECT c.ContactId,c.SecurityQuestionAnswer,q.Name FROM profile.SecurityQuestion q " +
           "INNER JOIN profile.Contact c ON q.SecurityQuestionID = c.SecurityQuestionFK " +
           "WHERE c.ContactID = @Contact",new SqlParameter("@Contact",contactId)
           );
但我将使用@before字符串,以便它可以是多行的:

da.Execute(
           @"SELECT c.ContactId,c.SecurityQuestionAnswer,q.Name FROM profile.SecurityQuestion q
           INNER JOIN profile.Contact c ON q.SecurityQuestionID = c.SecurityQuestionFK
           WHERE c.ContactID = @Contact",new SqlParameter("@Contact",contactId)
           );

您的查询中缺少空格:

da.Execute(
           "SELECT c.ContactId,c.SecurityQuestionAnswer,q.Name FROM profile.SecurityQuestion q " +
           "INNER JOIN profile.Contact c ON q.SecurityQuestionID = c.SecurityQuestionFK " +
           "WHERE c.ContactID = @Contact",new SqlParameter("@Contact",contactId)
           );
但我将使用@before字符串,以便它可以是多行的:

da.Execute(
           @"SELECT c.ContactId,c.SecurityQuestionAnswer,q.Name FROM profile.SecurityQuestion q
           INNER JOIN profile.Contact c ON q.SecurityQuestionID = c.SecurityQuestionFK
           WHERE c.ContactID = @Contact",new SqlParameter("@Contact",contactId)
           );

看起来您在profile.SecurityQ中缺少一个空格+
在q.SecurityQuestionID=c.SecurityQuestionFK+

中还有一个,看起来您在profile.securityquestionq中缺少了一个空格+
在q.SecurityQuestionID=c.SecurityQuestionFK+

中还有一个,看起来您在profile.securityquestionq中缺少了一个空格+
在q.SecurityQuestionID=c.SecurityQuestionFK+

中还有一个,看起来您在profile.securityquestionq中缺少了一个空格+
q.SecurityQuestionID=c.SecurityQuestionFK+

中的另一个,至少你在profile.SecurityQuestionQ后面缺少一个空格,在q.SecurityQuestionID=c.SecurityQuestionFK后面也缺少一些空格,例如Qiner JOIN无效。很简单,非常感谢您,至少您在profile.SecurityQuestion q之后以及在q.SecurityQuestion id=c.securityquestionfk之后缺少了一个空格。缺少了一些空格,例如qINNER JOIN无效。非常简单,非常感谢您,至少您在profile.SecurityQuestion q之后以及在q.SecurityQuestion id=c.securityquestionfk之后缺少了一个空格。缺少了一些空格,例如qINNER JOIN无效。非常简单,非常感谢,至少在profile.SecurityQuestion q之后和q.SecurityQuestionID=c.securityquestionfk之后缺少一个空格。缺少一些空格,例如qINNER JOIN无效。非常简单,非常感谢。我想下次我会用@Thank you Uril。我想下次我会用@Thank you Uril。我想下次我会用@Thank you Uril。我想下次我会用@