我的数据库列名是"来自"但是当我将列名更改为其他名称时出现错误错误未发生。为什么?
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Mycon"].ConnectionString);
con.Open();
string qry="insert into Mynew(name,age,from,address,job)values(@name,@age,@from,@address,@job)";
SqlCommand cmd= new SqlCommand(qry, con);
cmd.Parameters.AddWithValue("@name", TextBox1.Text);
cmd.Parameters.AddWithValue("@age", TextBox2.Text);
cmd.Parameters.AddWithValue("@from",TextBox3.Text);
cmd.Parameters.AddWithValue("@address", TextBox4.Text);
cmd.Parameters.AddWithValue("@job", TextBox5.Text);
cmd.ExecuteNonQuery();
con.Close();
}
当我将列名改为city时没有收到错误为什么会发生?
答案 0 :(得分:5)
from
是SQL中的保留关键字。如果要将其用作表名,则必须通过以下方式将其转义:
所以要么
insert into Mynew(name,age,`from`,address,job)values(@name,@age,@from,@address,@job)
或
insert into Mynew(name,age,[from],address,job)values(@name,@age,@from,@address,@job)
取决于您使用的数据库。
为避免混淆,使用不同的列名称显然会更好。