我有以下代码,并在 vb.net 项目中使用它。如果数据库名称中没有空格,这很有效。例如,如果数据库名称是“SampleCompany”它工作正常,但如果数据库名称更改为“SampleCompany”
我们在 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/