0

我正在使用 SQL Server 2005 和 JSP。我想添加具有名称的列作为字符串对象值。

String dr="Doctor1";

stat1=conn.createStatement();
stat1.executeUpdate("ALTER TABLE dbo.PHPL ADD '"+dr+"' NVARCHAR(255) Null");

它在列名附近给出错误。我想我在语法上弄错了。请帮忙。

4

2 回答 2

3
String dr="Doctor1";

stat1=conn.createStatement();
stat1.executeUpdate("ALTER TABLE dbo.PHPL ADD "+dr+" NVARCHAR(255) Null");

效果很好。

于 2012-09-14T05:29:25.730 回答
0

这里有几个问题

  • 您需要使用execute,而不是executeUpdate. 更改表是 DDL 命令,而不是插入、更新或删除
  • 正如 KittenLS 所指出的, for 的语法ALTER TABLE不需要引号。但是,您应该使用 '[]' 来转义空格、关键字等。

IE

stat1.execute("ALTER TABLE dbo.PHPL ADD [" + dr + "] NVARCHAR(255) Null");
于 2012-09-14T05:36:12.967 回答