【发布时间】:2021-08-20 17:51:07
【问题描述】:
使用 C# 和 JET OleDB 驱动程序 (Microsoft.Jet.OLEDB.4.0) 连接到旧的 Access 数据库(想想 Access 97)。以下 SQL 语句工作正常:
ALTER TABLE [MyTable] ADD [FunkyInt] Integer DEFAULT 3
ALTER TABLE [MyTable] ADD [FunkyString] Text(30) DEFAULT hello
但是用分号 (;) 终止语句会导致问题:
ALTER TABLE [MyTable] ADD [FunkyInt] Integer DEFAULT 3; -- syntax error
ALTER TABLE [MyTable] ADD [FunkyString] Text(30) DEFAULT hello; -- default is now "hello;"
DEFAULT 的 SQL 语句可以终止吗?
【问题讨论】:
-
必须将这些语句作为两个独立的操作分开运行。
-
如果我在分号前插入一个空格,那么在 Access 应用程序会话中从
CurrentProject.Connection执行时,最后两条语句都可以正常工作。但这对我来说似乎很奇怪。 -
我使用的是 VBA,而不是 C# 和 Access 2010。尝试过,但失败了。但是为什么有两个 ALTER 语句呢?一个 ALTER 操作可以添加多个字段。
标签: c# sql ms-access oledb jet