C# 错误:";方法'没有重载;ExecuteInsert';采取';5';“论点”;
我对C#参数有个问题 我得到了这个错误: 方法“ExecuteInsert”没有重载接受“5” 这是我的代码:C# 错误:";方法'没有重载;ExecuteInsert';采取';5';“论点”;,c#,sql,sql-server,C#,Sql,Sql Server,我对C#参数有个问题 我得到了这个错误: 方法“ExecuteInsert”没有重载接受“5” 这是我的代码: private void ExecuteInsert(string FirstName, string LastName, string MiddleName, string UserName, string Password, string MemberStatus) { SqlConnection conn = new SqlConnection(GetConnection
private void ExecuteInsert(string FirstName, string LastName, string MiddleName, string UserName, string Password, string MemberStatus)
{
SqlConnection conn = new SqlConnection(GetConnectionString());
string sql = "INSERT INTO Registration (FirstName, LastName, MiddleName, UserName, Password, MemberStatus, DateRegistration) VALUES"
+ " (@FirstName,@LastName,@MiddleName,@UserName,@Password,'ACTIVE',CURRENT_TIMESTAMP)";
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter[] param = new SqlParameter[5];
param[0] = new SqlParameter("@FirstName", SqlDbType.VarChar, 50);
param[1] = new SqlParameter("@LastName", SqlDbType.VarChar, 50);
param[2] = new SqlParameter("@MiddleName", SqlDbType.VarChar, 50);
param[3] = new SqlParameter("@UserName", SqlDbType.VarChar, 50);
param[4] = new SqlParameter("@Password", SqlDbType.VarChar, 50);
param[5] = new SqlParameter("ACTIVE", SqlDbType.VarChar, 50);
param[6] = new SqlParameter("CURRENT_TIMESTAMP", SqlDbType.VarChar, 50);
param[0].Value = FirstName;
param[1].Value = LastName;
param[2].Value = MiddleName;
param[3].Value = UserName;
param[4].Value = Password;
param[5].Value = MemberStatus;
param[6].Value = DateRegistration;
for (int i = 0; i < param.Length; i++)
{
cmd.Parameters.Add(param[i]);
}
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
catch (System.Data.SqlClient.SqlException ex)
{
string msg = "Insert Error:";
msg += ex.Message;
throw new Exception(msg);
}
finally
{
conn.Close();
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TxtPassword.Text == TxtRePassword.Text)
{
//call the method to execute insert to the database
ExecuteInsert(TxtFName.Text,
TxtLName.Text,
TxtMName.Text,
TxtUserName.Text,
TxtPassword.Text);
Response.Write("Record was successfully added!");
ClearControls(Page);
}
else
{
Response.Write("Password did not match");
TxtPassword.Focus();
}
}
public static void ClearControls(Control Parent)
{
if (Parent is TextBox)
{ (Parent as TextBox).Text = string.Empty; }
else
{
foreach (Control c in Parent.Controls)
ClearControls(c);
}
}
}
private void ExecuteInsert(字符串FirstName、字符串LastName、字符串MiddleName、字符串用户名、字符串密码、字符串MemberStatus)
{
SqlConnection conn=新的SqlConnection(GetConnectionString());
string sql=“插入到注册(FirstName、LastName、MiddleName、用户名、密码、MemberStatus、DateRegistration)值中”
+“(@FirstName、@LastName、@MiddleName、@UserName、@Password、'ACTIVE',当前时间戳)”;
尝试
{
conn.Open();
SqlCommand cmd=新的SqlCommand(sql,conn);
SqlParameter[]param=新的SqlParameter[5];
param[0]=新的SqlParameter(“@FirstName”,SqlDbType.VarChar,50);
param[1]=新的SqlParameter(“@LastName”,SqlDbType.VarChar,50);
param[2]=新的SqlParameter(“@MiddleName”,SqlDbType.VarChar,50);
param[3]=新的SqlParameter(“@UserName”,SqlDbType.VarChar,50);
param[4]=新的SqlParameter(“@Password”,SqlDbType.VarChar,50);
param[5]=新的SqlParameter(“活动”,SqlDbType.VarChar,50);
param[6]=新的SqlParameter(“当前_时间戳”,SqlDbType.VarChar,50);
参数[0]。值=FirstName;
参数[1]。值=LastName;
参数[2]。值=中间名;
参数[3]。值=用户名;
参数[4]。值=密码;
参数[5]。值=成员状态;
参数[6]。值=日期注册;
对于(int i=0;i
你在开玩笑吗?数一数您的参数,注意您在呼叫时缺少string MemberStatus
。错误再清楚不过了很明显,您的函数接受了6个参数,而不是5个。您已将数组大小声明为5,并添加了6个参数。那会是一个好主意吗difference@Soundararajan这将是下一个问题,一旦这个代码编译,所以我需要为我的字符串MemberStatus设置另一个文本框。。谢谢。还是我只需要删除我的字符串MemberStatus并保留我的参数。。