你好我遇到了一个大问题我试图在我的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 ;";
但它也没有用...... 我希望你有一个解决方案,非常感谢你。
答案 0 :(得分:2)
您无法将列名称作为参数传递。
在第二个示例中,不需要单引号,因此请将其更改为
ALTER TABLE Teilnahmen_Events ADD "+ tb_Eventname.Text +" bit NOT NULL ;";