我正在尝试使用C#更改表添加列

我想使用C#以编程方式向SQL表中添加列。 这是我的代码。

SqlConnection con = new SqlConnection(conString);
con.Open();
string str = "ALTER TABLE  [dbo].[tblQuiz] ADD '" + txtQuizNo.Text.ToString() +"' Varchar(50) NULL ";
SqlCommand com = new SqlCommand(str, con);
com.ExecuteNonQuery();
con.Close();

When I execute the program it say's that Incorrect syntax near the column nameenter code here. Is it possible to add column to the sql database programmatically?

评论
amagni
amagni
是否可以通过编程将列添加到sql数据库?

SQL Server处理SQL命令。它不在乎它们来自何处。

另请注意,您的错误消息CLEARLY似乎说明了这一点:

它说那是不正确的语法

不正确的语法表示完全正确。

ALTER TABLE [dbo]。[tblQuiz]添加'“ + txtQuizNo.Text.ToString()+”'

您为什么还要考虑:

  • 使用此过时的语法添加到字符串。
  • 将新字段的名称转换为STRING CONSTANT(通过在方括号中将其括起来)而不是名称常量?名称不是SQL中的字符串-实际上,使用常量或变量代替名称是非法的。因此,通过使名称成为字符串常量,可以创建其所说的-SYNTAX错误。

这是一个简单的初学者调试提示:下次SQL命令像这样失败时,将其记录下来或使用调试器获取FINISHED字符串。将其复制/粘贴到SSMS中,然后查看是否在其中运行。如果您尝试过,整个问题将是没有意义的-因为您会清楚地看到它与C#不相关,因为您在SSMS中遇到相同的错误。

点赞
评论