2011-05-05 77 views
0

我收到了一些幫助,我非常感謝使用參數將信息插入到數據庫中,因爲它是更好的做法,我相信這樣做。 但是我得到以下錯誤'查詢值和目標字段的數量不一樣'。不確定它爲什麼會發生。代碼看起來非常好,並且數據庫。System.Data.OleDb.OleDbException:查詢值和目標字段的數量不一樣

[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(); 
} 

建議或許爲什麼存在這個錯誤?

親切的問候 阿里安

回答

2

有一個(句點),而不是@rating參數後面的INSERT語句中的(逗號)。

更改。以逗號。

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

對不起那個,謝謝你 – Arianule 2011-05-05 17:26:22

1

我覺得作爲一個週期已經到位逗號其中的參數指定這可能是簡單的:

@評估。 @review

應該是:

@評估,@review

+0

抱歉說謝謝 – Arianule 2011-05-05 17:27:03

相關問題