我得到的错误是由于保护违规原因未添加该行。错误是葡萄牙语,所以不完全是那里写的。有帮助吗?感谢
答案 0 :(得分:3)
在UPDATE语句中更新多个字段时,请在字段表达式之间使用逗号(而不是AND)。
UPDATE table1 SET quantity=8, last_Sent_Date='16-05-2011' WHERE ID = '18';
该示例假定数量的字段类型为数字,last_Sent_Date为文本,ID为文本。如果这些假设是错误的,请使用不同的分隔符。
答案 1 :(得分:0)
last_Sent_Date='16-05-2011'
WHERE ID = '18'
您确定以文本格式存储日期吗?我希望它是一个日期字段。 您确定要以文本格式存储您的ID吗?我希望它是一个数字字段。
对于AS400日期函数:http://www.broculos.net/tutorials/as_400_chapter_4_sql/20071026/en(向下滚动)
我希望有类似的东西:
UPDATE table1 SET quantity=8 AND last_Sent_Date=DATE('16-05-2011') WHERE ID = 18;
我不确定日期转换是否完全正确。我在AS / 400中没有很多经验
答案 2 :(得分:0)
听起来你遇到类型不匹配的问题。错误(或错误文本)的屏幕截图仍然有用;不过这可能是你想要的:
UPDATE table1 SET quantity=8 , last_Sent_Date=#16-05-2011# WHERE ID = '18';
甚至更好,用YYYY-MM-DD格式(而不是DD-MM-YYYY - 这可能会在一个月中给出错误的结果< = 12)
UPDATE table1 SET quantity=8 , last_Sent_Date=#2011-05-16# WHERE ID = '18';
这种方式不可能让MS Access误解日期。 #标记表明它是一个日期常数。
答案 3 :(得分:0)
尝试将时间戳字段添加到源数据库表。无法告诉您链接表上的更新问题已经为我修复了多少次。还要检查源表是否设置了足够的密钥以唯一标识记录。