使用c#将列添加到sql表

时间:2017-03-29 09:05:17

标签: c# sql sql-server

你好我遇到了一个大问题我试图在我的MSSQL数据库表中添加一个新列,我尝试了几千次,但它不会工作。 我的目的是按下按钮,然后使用“eventsspalte_Hinzufügen”功能添加一个名称为用户插入的新列。

这是片段。

private void eventsspalte_Hinzufügen()
{

    SQL_eingabe = "ALTER TABLE Teilnahmen_Events ADD @tbName bit NOT NULL ;"; //  CONSTRAINT strconst3 DEFAULT 0

    con.Open();
    SqlCommand cmd = con.CreateCommand();
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = SQL_eingabe;
    cmd.Parameters.AddWithValue("@tbName", tb_Eventname.Text);
    cmd.ExecuteNonQuery();
    con.Close();
}

异常说cmd.ExecuteQuery()无法执行sql命令,因为@tbName上的wromg语法我也尝试使用如下变量:

ALTER TABLE Teilnahmen_Events ADD'"+ tb_Eventname.Text +"'bit NOT NULL ;";

但它也没有用...... 我希望你有一个解决方案,非常感谢你。

1 个答案:

答案 0 :(得分:2)

您无法将列名称作为参数传递。

在第二个示例中,不需要单引号,因此请将其更改为

ALTER TABLE Teilnahmen_Events ADD "+ tb_Eventname.Text +" bit NOT NULL ;";