我有以下代码并在 vb.net 项目中使用它。如果数据库名称中没有空格,这会很好地工作。例如,如果数据库名称是“SampleCompany”,它工作正常,但如果数据库名称更改为“Sample Company” 我们在这部分 sql 命令中收到错误:“BEGIN CREATE TABLE”& cn.Database。 我们必须能够处理带/不带空格的数据库名称。
有什么解决这个问题的建议吗? 谢谢。
cn.Database="Sample Company"
sqlCreate = "IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'Cloud_UserSetting' AND TABLE_CATALOG ='" & cn.Database & "') " & _
"BEGIN CREATE TABLE " & cn.Database & ".dbo.Cloud_UserSetting(CloudId int NOT NULL, Name varchar(100) NOT NULL," & _
"Setting varchar(250) NULL " & _
"CONSTRAINT PK_Cloud_UserSetting PRIMARY KEY CLUSTERED(CloudId,Name)) END"
command = New SqlCommand(sqlCreate, cn)
command.ExecuteNonQuery()
最佳答案
使用方括号包含列名和表名。
例如:使用[table name]
代替table name
关于sql - 如何处理 Sql server CREATE TABLE 数据库名称中的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29076871/