如何处理Sql server CREATE TABLE的数据库名称中的空格?

Use*_*527 2 .net sql database vb.net sql-server

我有以下代码,我在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()
Run Code Online (Sandbox Code Playgroud)

Tha*_*rif 8

使用方括号来包含列名和表名.

例如:而不是table name使用:[table name]