-1

我试图在 SQL Server 数据库中创建一个表,但出现语法错误。

String quary1 = "CREATE TABLE " +chatTable + 
                "("
                +"From varchar(255),"
                +"To varchar(255),"
                +"Message varchar(255))";

SqlCommand cmd1 = new SqlCommand(quary1, con);
cmd1.ExecuteNonQuery();

它给出了一条错误消息

From 附近的语法错误。

如果你给我一个提示将给出一个解决方案。谢谢

4

4 回答 4

6

From是保留词。将其替换为[From].

如果您可以将列重命名为更具描述性的名称,例如FromAddress等,那就更好了

做同样的事情,TO因为它也是一个保留词。

于 2013-08-30T19:44:41.007 回答
3

由于FROMTO是保留字,您需要像这样更改查询

String quary1 = "CREATE TABLE " +chatTable + 
                "("
                +"chatFrom varchar(255),"
                +"chatTo varchar(255),"
                +"Message varchar(255))";

要查看所有保留字的完整列表,请参阅此链接

http://technet.microsoft.com/en-us/library/ms189822.aspx

于 2013-08-30T19:47:30.690 回答
2

FROM并且TO是 T-SQL 中的保留关键字。将它们与方括号一起使用,例如[FROM][TO]

作为一般建议,请改用不同的列名;)

于 2013-08-30T19:45:44.573 回答
1

解决方案:

String quary1 = "CREATE TABLE " +chatTable + 
                "("
                +"[From] varchar(255),"
                +"[To] varchar(255),"
                +"[Message] varchar(255))";

SqlCommand cmd1 = new SqlCommand(quary1, con);
cmd1.ExecuteNonQuery();
于 2013-08-30T19:47:22.797 回答