MS ACCESS中表级验证表达式中的语法错误
本文关键字:语法 表达式 错误 ACCESS MS 验证 | 更新日期: 2023-09-27 18:11:13
OleDbCommand oleDbCmd = new OleDbCommand();
OleDbConnection bookConn = Sqlhelper.Conncect_Mdb();
oleDbCmd.Connection = bookConn;
oleDbCmd.CommandText = "ALTER TABLE doc_comp ADD COLUMN versioncode NUMBER DEFAULT 0";
oleDbCmd.ExecuteNonQuery();
bookConn.Close();
这是我的代码alter table在ms访问,它抛出错误语法错误在表级验证表达式。这段代码在不添加'DEFAULT 0'的情况下工作得很好。我使用的是MS ACCESS 2007。
你的代码为我工作,如果我使用以下连接字符串:
static public OleDbConnection Conncect_Mdb()
{
const string oledb = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=scratch.accdb";
var conn = new OleDbConnection(oledb);
conn.Open();
return conn;
}
有一些较旧的驱动程序,特别是那些运行在ODBC上的驱动程序,它们需要您指明在驱动程序中需要哪种sql支持。在Odbc连接字符串中进行此类设置的一个示例是ExtendedAnsiSQL=1
。
如果你的安装没有微软Access数据库引擎2010,它也支持Access 2007,你可以从微软下载下载并安装可重新发布的
这个答案不属于特定的问题,但它确实回答了标题....中发布的错误信息
Syntax error in table-level validation expression in MS ACCESS
我收到了这个确切的错误,修复是从查询语句的末尾删除一个分号。
我正在使用OP的查询来呈现解决方案…
oleDbCmd.CommandText = "ALTER TABLE doc_comp ADD COLUMN versioncode NUMBER DEFAULT 0**;**";
,
oleDbCmd.CommandText = "ALTER TABLE doc_comp ADD COLUMN versioncode NUMBER DEFAULT 0";
从查询语句中删除被星号包围的分号。