我一直试图在ASP.NET中以编程方式添加一列以修改SQL Server中的表。C#改变表格并以编程方式添加列ASP.Net和SQL Server
请参见下面的代码:
string suppliernotxt = supplieridlist[1].ToString();
//SqlCommand cmd2 = new SqlCommand("ALTER TABLE [ProductNormalDB] ADD suppliernotxt nvarchar(20) NULL", con);
SqlCommand cmd2 = new SqlCommand("ALTER TABLE ProductNormalDB ADD @supplierlist nvarchar(20) NULL", con);
cmd2.Parameters.AddWithValue("@supplierlist", suppliernotxt);
//cmd2.Parameters.AddWithValue("@supplierlist", suppliernotxt.ToString());
//cmd2.Parameters["@supplierlist"].Value = supplieridlist[x];
cmd2.ExecuteNonQuery();
supplieridlist
是获取所有的列名添加到SQL Server数据库的数组。出于某种原因,参数化的方法是行不通的,并显示以下错误:
Incorrect syntax near '@supplierlist'.
的基本思想是让用户从复选框选择供应商的名称,根据供应商的阵列的所选号码将为前者创建供应商名称。如果我们选择3个供应商,阵列将节省"Supplier1"
,"Supplier2"
,"Supplier3"
,然后SqlCommand
应该改变表格并添加新列。
你应该规范你的数据库。例如,您可以创建一个包含以下列的多对多表“AsocProductSupplier”:ProductID和SupplierID。 –