必须在 c# Winforms 中声明一个静态变量
Must Declare a static variable in c# Winfoms
我收到一个错误,您必须声明一个静态变量@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)
{
}
}
您的 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)
。那里的占位符是 camp_id
并且导致了错误;像这样使用:
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();
}
我收到一个错误,您必须声明一个静态变量@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)
{
}
}
您的 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)
。那里的占位符是 camp_id
并且导致了错误;像这样使用:
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();
}