小编典典

在alter table中动态添加列名

sql

我正在开发一个Web应用程序,需要在其中使用ALTER Table。这是我的代码:

ALTER TABLE [tablename] ADD [column-name] [Type] DEFAULT [default-value] NULL/NOT NULL

现在,我想通过文本框动态更改[列名]。我怎样才能做到这一点?另外,我在AddWithValue中使用了@name,但是它不起作用!有谁能够帮我?谢谢

这是我的整个代码:

SqlConnection sqlconn4 = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ConnectionString);
                   SqlCommand sqlcomm4 = new SqlCommand("ALTER TABLE aspnet_Membership ADD @column int DEFAULT 0 NOT NULL", sqlconn4);

                    sqlcomm4.Parameters.AddWithValue("@column", TextBox1.Text);
                    sqlconn4.Open();
                    sqlcomm4.ExecuteNonQuery();
                    sqlconn4.Close();

阅读 215

收藏
2021-05-16

共1个答案

小编典典

使用sp_rename过程可以更改列名。

sp_RENAME 'Table_First.Name', 'NameChange' , 'COLUMN'






public void AddNewColumn(string tableName, string columName, string dataType)
    {
        string commandText = String.Format("ALTER TABLE {0} ADD {1} {2} ", tableName,columName,dataType);

        using (var sqlConnection = new SqlConnection("===="))
        {
            var cmd = sqlConnection.CreateCommand();
            cmd.CommandText = commandText;

            sqlConnection.Open();
            cmd.ExecuteNonQuery();
        }
    }
2021-05-16