C# 获取错误,因为我的数据库表的列名为;从「;

C# 获取错误,因为我的数据库表的列名为;从「;,c#,asp.net,database,ado.net,C#,Asp.net,Database,Ado.net,我的数据库列名为“from”,但在我将列名更改为其他名称时出错。没有发生错误。为什么 protected void Button1_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Mycon"].ConnectionString); con.Open(); string qry=

我的数据库列名为“from”,但在我将列名更改为其他名称时出错。没有发生错误。为什么

    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时,我没有收到错误,为什么会发生这种情况?

from
是SQL中的保留关键字。如果要将其用作表名,必须通过以下方式对其进行转义:

  • 将其放在回执之间(MySQL和其他)
  • 将其放在方括号内(MS Access、SQL server)

所以

insert into Mynew(name,age,`from`,address,job)values(@name,@age,@from,@address,@job)

取决于您使用的数据库


为了避免混淆,显然最好使用不同的列名。

from
是SQL中的保留关键字。如果要将其用作表名,必须通过以下方式对其进行转义:

  • 将其放在回执之间(MySQL和其他)
  • 将其放在方括号内(MS Access、SQL server)

所以

insert into Mynew(name,age,`from`,address,job)values(@name,@age,@from,@address,@job)

取决于您使用的数据库


为避免混淆,显然最好使用不同的列名。

From是保留的,不能用作列n如何更改列名?通过编辑数据数据库表列名。如果您使用的是SQL Server。从是保留的,则不能用作列名称如何更改列名?通过编辑数据库表列名。如果您使用的是SQL Server,您使用的是什么数据库?SQL Server?您使用的是什么数据库?SQL Server?