我正面临这个问题,我不知道背后的原因。这是Visual Studio报告的错误:
'PostForum.INSERTforum(int,string,string,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;
}
}
答案 0 :(得分:3)
INSERTforum
期望将int作为第一个参数。你传给它一个字符串。更正INSERTforum
的调用以阅读:
PostForum.INSERTforum(ccourse_Id, question, posterName, blog_date);
请注意,如果DropDownList1.Text
无法解析为整数,则会失败。
不要忘记查看Visual Studio中的“错误列表”选项卡。你看到的错误只是第一次 - 下一个错误会给你我提供的信息。