2014-02-28 38 views
0

我正面臨這個問題,我不知道背後的原因。下面是錯誤的Visual Studio是報告:爲什麼我從此代碼中獲取CS1502(無效參數)錯誤?

我使用「PostForum.INSERTforum(整型,字符串,字符串的System.DateTime)」的最佳重載的方法匹配具有一些無效參數Oracle存儲我的數據並創建了一個名爲INSERTFORUM的過程。我不確定是否存在存儲過程或其他問題。請幫我解決這個問題。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Forum : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
     string course_Id = DropDownList1.Text; 
     int ccourse_Id = Convert.ToInt32(course_Id); 
     string question = TextBox1.Text; 
     string posterName = TextBox2.Text; 
     DateTime blog_date = DateTime.Now; 
     PostForum.INSERTforum(course_Id, question, posterName, blog_date); 
    } 
} 

代碼:Postforum.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
using System.Data.SqlClient; 

public class PostForum 
{ 
    public static int INSERTforum(int course_Id, string question, string posterName, DateTime blog_date) 
    { 
     int rowsAffected = 0; 

     using (SqlConnection connection = ConnectionManager.GetDatabaseConnection()) 
     { 
      SqlCommand command = new SqlCommand("INSERTforum", connection); 
      command.CommandType = CommandType.StoredProcedure; 

      command.Parameters.Add("@course_Id", SqlDbType.Int).Value = course_Id; 
      command.Parameters.Add("@question", SqlDbType.VarChar).Value = question; 
      command.Parameters.Add("@posterName", SqlDbType.VarChar).Value = posterName; 
      command.Parameters.Add("@blog_date", SqlDbType.DateTime).Value = blog_date; 

      rowsAffected = command.ExecuteNonQuery(); 
     } 
     return rowsAffected; 
    } 
} 

回答

3

INSERTforum期望的int作爲第一個參數。你傳遞一個字符串。糾正你的INSERTforum調用閱讀:

PostForum.INSERTforum(ccourse_Id, question, posterName, blog_date); 

注意,如果DropDownList1.Text不能被解析爲整數,這將失敗。

不要忘記查看Visual Studio中的錯誤列表選項卡。你看到的錯誤只是第一個 - 下一個錯誤會給你我所做的信息。

相關問題