C# System.Data.OleDb.OLEDBEException:查询值和目标字段的数量不相同

C# System.Data.OleDb.OLEDBEException:查询值和目标字段的数量不相同,c#,asp.net,C#,Asp.net,我收到了一些帮助,我非常感谢使用paramaters将信息插入数据库,因为我认为这样做更好。 但是,我确实收到了以下错误“查询值和目标字段的数量不相同”。不知道为什么会这样。 代码看起来很好,数据库也很好 [WebMethod] public void bookRatedAdd(string title, int rating, string review, string ISBN, string userName) { OleDbConnection conn; conn =

我收到了一些帮助,我非常感谢使用paramaters将信息插入数据库,因为我认为这样做更好。 但是,我确实收到了以下错误“查询值和目标字段的数量不相同”。不知道为什么会这样。 代码看起来很好,数据库也很好

[WebMethod]
public void bookRatedAdd(string title, int rating, string review, string ISBN, string userName)
{
    OleDbConnection conn;
    conn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;
                                               Data Source=" + Server.MapPath("App_Data\\BookRateInitial.mdb")); 

    conn.Open();



    OleDbCommand cmd = conn.CreateCommand();

    cmd.CommandText = "INSERT INTO bookRated([title], [rating], [review], [frnISBN], [frnUserName])VALUES(@title, @rating. @review, @ISBN, @userName)";

    //adding my parameters
    cmd.Parameters.AddRange(new OleDbParameter[]
    {
        new OleDbParameter("@title", title),
        new OleDbParameter("@rating", rating),
        new OleDbParameter("@review", review), 
        new OleDbParameter("@ISBN", ISBN), 
        new OleDbParameter("@userName", userName),
    });


    cmd.ExecuteNonQuery();
    conn.Close();
}
关于为什么存在这种错误的建议

问候
Arian

在@rating参数后面的INSERT语句中有一个(句点)而不是(逗号)

换衣服。逗号

INSERT INTO bookRated([title], [rating], [review], [frnISBN], [frnUserName])
VALUES(@title, @rating, @review, @ISBN, @userName)

在@rating参数后面的INSERT语句中有一个(句点)而不是(逗号)

换衣服。逗号

INSERT INTO bookRated([title], [rating], [review], [frnISBN], [frnUserName])
VALUES(@title, @rating, @review, @ISBN, @userName)

我认为这可能很简单,因为在指定参数时,用句点代替逗号:

@评级@复习

应该是:


@评级,@review

我认为这可能很简单,因为在指定参数时,用句点代替逗号:

@评级@复习

应该是:

@评级,@review