必须在c#Winoms中声明一个静态变量

本文关键字:一个 静态 变量 c#Winoms 声明 | 更新日期: 2023-09-27 18:14:41

我遇到一个错误,您必须声明一个静态变量@campus_id。我不知道如何声明,在哪里声明,以及声明静态变量意味着什么。请帮帮我!

private void btnSave_Click(object sender, EventArgs e)
{
    try
    {
        CS = ConfigurationManager
                   .ConnectionStrings["UMSdbConnectionString"].ConnectionString;
        using (SqlConnection con = new SqlConnection(CS))
        {
            con.Open();
            SqlCommand cmd = new SqlCommand(
                "SELECT ISNULL(MAX(campus_id),0)+1 FROM Campus", con);
            cmd.CommandType = CommandType.Text;
            tbCampusID.Text = cmd.ExecuteScalar().ToString();
            using (SqlCommand cmd1 = new SqlCommand(
              "INSERT INTO Campus (campus_id,campus_name)VALUES(@camp_id,camp_name)", con))
            {
                cmd1.CommandType = CommandType.Text;
                cmd1.Parameters.AddWithValue("@campus_id", tbCampusID.Text);
                cmd1.Parameters.AddWithValue("@campus_name", tbCampusName.Text);
                cmd1.ExecuteNonQuery();
                con.Close();
                MessageBox.Show("Record Saved");
            }
        }
    }
    catch (Exception)
    {
    }
}

必须在c#Winoms中声明一个静态变量

SQL查询和对Parameters.AddWithValue的调用中的参数名称必须匹配:

using (SqlCommand cmd1 = new SqlCommand(
    "INSERT INTO Campus (campus_id, campus_name) VALUES(@campus_id, @campus_name)", con))
{
    cmd1.CommandType = CommandType.Text;
    cmd1.Parameters.AddWithValue("@campus_id", tbCampusID.Text);
    cmd1.Parameters.AddWithValue("@campus_name", tbCampusName.Text);
    cmd1.ExecuteNonQuery();
    con.Close();
}

您正在向尚未定义的占位符添加值。请参阅此声明cmd1.Parameters.AddWithValue("@campus_id", tbCampusID.Text);这里使用campus_id作为占位符,并查看插入查询,即INSERT INTO Campus (campus_id,campus_name)VALUES(@camp_id,camp_name)。其中占位符是CCD_ 5并且是导致错误的占位符;像这样使用:

string querySql = "INSERT INTO Campus (campus_id, campus_name) VALUES(@camp_id, @campus_name)"
using (SqlCommand cmd1 = new SqlCommand(querySql, con))
{
    cmd1.CommandType = CommandType.Text;
    cmd1.Parameters.AddWithValue("@camp_id", tbCampusID.Text);
    cmd1.Parameters.AddWithValue("@campus_name", tbCampusName.Text);
    cmd1.ExecuteNonQuery();
    con.Close();
}