【发布时间】:2013-12-21 13:20:54
【问题描述】:
我一直在尝试在 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 数据库中。由于某种原因,参数化方法不起作用并显示以下错误:
“@supplierlist”附近的语法不正确。
基本思想是让用户从复选框中选择供应商的名称,根据选择的供应商数量,数组将为 ex 创建供应商名称。如果我们选择了 3 个供应商,则数组将保存 "Supplier1"、"Supplier2"、"Supplier3",然后 SqlCommand 应该会更改表并添加新列。
【问题讨论】:
-
你应该标准化你的数据库。例如,您可以创建一个多对多表
AsocProductSupplier,其中包含以下列:ProductID和SupplierID。
标签: c# asp.net sql-server