【发布时间】:2018-04-18 09:05:41
【问题描述】:
我想在单击按钮后在我的数据库中创建表。在 Button_Click 函数中我有一个代码
SqlConnection conn = new SqlConnection(@"MyConnectionString");
conn.Open();
SqlCommand cmd = new SqlCommand("CREATE TABLE '" + tableName+ "' (IdPy INT IDENTITY(1,1), Question NVARCHAR (MAX) NOT NULL, IsChecked BIT NOT NULL, CONSTRAINTPK_'" + tableName+ "' PRIMARY KEY(Id) )", conn);
cmd.ExecuteNonQuery();
conn.Close();
tableName 是我的String 变量(它的值2018-04-18 asd - 是的,我想要具有这样名称的表)。单击按钮后出现错误:
System.Data.SqlClient.SqlException:''2018-04-18 asd' 附近的语法不正确。'
我认为问题出在我的 SqlCommand 中。如果您能帮我解决这个问题,我将不胜感激。
【问题讨论】:
-
你有没有通过调试器检查过SqlCommand的文本?
-
请检查
tableName的值(下断点) -
你可能会发现你需要把 [] 放在表名而不是单引号
-
我的tableName值为“2018-04-18 asd”
-
检查 CONSTRAINTPK_'" + tableName+ "' ...这将导致 CONSTRAINTPK_'myTable'
标签: c# sql sqlcommand