sql-server - 使用 Access 和 Azure 链接表插入 SQL 失败

标签 sql-server azure ms-access

我已将多个 Azure 表链接到我的 Access 2010 前端。我可以使用 docmd.RunSQL string 方法运行 SELECT 和 UPDATE 查询,不会失败,这就是该数据库中所有代码的编写方式。 INSERT 查询失败,因为没有插入任何内容,但没有给出错误。我在网上发现了很少的信息,但有一个网站确实提到我需要列出所有字段(不仅仅是那些具有值的字段),但这没有什么区别。

tableName = "userLog"
fields = "userId,machine,timeIn"
values = "'testUser','testMachine',#10/25/2016#"
SQL = "INSERT INTO " & tableName & " (" & fields & ") VALUES (" & values & ")"
DoCmd.RunSQL SQL

编辑----

我尝试将 SQL 字符串直接输入 SSMS 查询窗口,但它返回与日期字段相关的错误。所以我把它从 #2016/10/26# 到 '2016年10月26日' 该错误已被替换为新错误,内容如下: “无法将 NULL 值插入表“LaborModel.dbo.userLog”的“ID”列;列不允许为空值。INSERT 失败。” SQL不会自动将唯一值添加到ID字段吗?显然这是SQL(我不熟悉)和Access操作之间的区别。

最佳答案

如果表中还没有数据,您可以从 SSMS 执行此操作:Alter Table userLog Drop Column ID GO ALTER TABLE userLog ADD [ID] INT Identity (1,1) –

然后将其设为 PK:ALTER TABLE [dbo].[userLog] ADD CONSTRAINT [PK_userLog] PRIMARY KEY CLUSTERED ( [ID] ) ON [PRIMARY]

关于sql-server - 使用 Access 和 Azure 链接表插入 SQL 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40240481/

相关文章:

sql - 从 T-SQL 中的给定 URL 解析域

sql - 每 3 行生成行号

authentication - 有没有办法让 "remember me"复选框在 WinRT 应用程序的 Azure 移动服务身份验证上起作用?

azure - 如果我没有添加Web App,它会从哪里获取证书?

azure - FTP 到 Azure Blob 存储

ms-access - 在 IIF 语句中计算 NULL 时出现问题 (Access)

sql-server - IIS 7 无法连接到 SQL Server 2008

sql-server - 微软 SQL 服务器。获取外部脚本执行失败,因为可扩展性环境尚未准备就绪。 CTP1.2 Linux版

ms-access - me.visible = false 而不是关闭表单

sql - 查询语法错误