代码改变世界

今日工作心得:在access数据库中创建表和关系,以及级联删除问题

2010-09-05 12:18  于为源  阅读(2715)  评论(0编辑  收藏  举报

在access数据库中创建表和关系要使用:CONSTRAINT子句。这个字句中的ON UPDATE ON DELETE等命令在access的sql面板中是不支持的,需要使用ado去执行含有这些命令的语句才能通过。

如下列语句,创建了一个表,用于存放产品的图片,一个外键LR_ProductID引用主表LR_Products的LR_ProductID主键:

 

create table LR_ProductPics(   LR_ProductPicID GUID Primary key,  LR_ProductID GUID null,  LR_ProductPicURL varchar(255),  CONSTRAINT FK_LR_Product_Referance_Pics_LR_Products FOREIGN KEY (LR_ProductID) REFERENCES LR_Products ON UPDATE CASCADE ON DELETE CASCADE)

 

这个语句中的ON UPDATE CASCADE ON DELETE CASCADE,在access的sql面板中执行就不能通过,会提示“CONSTRAINT子句语法错误”。这时在c#中运用ado.net将上述命令执行就能正确通过。我想相应的修改表的主外键关系等操作,也应该是这个道理。