VF中建立两个表之间的永久联系,我的是不是建错了(截图)

VF中建立两个表之间的永久联系,我的是不是建错了(截图),第1张

在数据库设计器中,将两个表全添加进来,主表建立主索引或候选索引,子表建立普通索引就可以了,(这样建立的是一对多关系,如果子表也建立的是主索引或候选索引,那两表建立的就是一对一关系,最终在那条黑线上有区别,可以观察到)。 主索引前有个小钥匙,点着那个钥匙,用鼠标拖着,拉到另个表的普通索引前就可以了

--我也是初学者,共同研究下,你最好一段一段执行,要不就没意义了

use school

drop table teacher1

drop table student1

go

create table teacher1

(

t_id int primary key,

t_name nvarchar(10) not null

)

go

insert into teacher1 values(1347,'张三')

insert into teacher1 values(2680,'李四')

insert into teacher1 values(6379,'王五')

go

create table student1

(

s_id int primary key,

t_id int

)

go

alter table student1

add constraint FK foreign key(t_id) references teacher1(t_id) on update cascade

insert into student1 values(1,2680)

insert into student1 values(2,6379)

insert into student1 values(3,1347)

insert into student1 values(4,6379)

insert into student1 values(5,1347)

--两个表建好了,大概按照你的意思,不知道是不是这种情况

go

select from student1;

select from teacher1; --查询所有数据

go

--在student1表(外键表)中加入一组数据

insert into student1 values(6,1234) --失败了,因为外键表中外键的值必须是引用主键表中关联的主键的值

--也就是外键约束,或称参照完整性

--外键约束是约束外键的数据的取值的

insert into teacher1 values(1234,'童川') --然后在teacher1表(主键表)中加一组数据

--成功,外键约束对主键表被引用的主键无影响

insert into student1 values(6,1234) --成功,验证了失败的原因

go

select from student1;

select from teacher1; --再次查询所有数据

--on update cascade 这个东西我也没学过,百度了一下,大概明白了

go

update teacher1 set t_id = t_id + 10000

where t_name in('童川') --成功

update student1 set t_id = t_id + 10000 --提示与外键约束发生冲突

go

select from student1;

select from teacher1; --看到了么学生表中引用'童川'老师的数据的一列数据中t_id的值也随之改变

--我想这就是on update cascade的作用

假如有3个表: 学生:学号、姓名、性别、出生年月 成绩:学号、课程号、成绩 课程:课程号、课程名 咱们如果在 学生和成绩表之间建立永久性联系,那么就需要用学号这个字段 因为他是这两个表中的公共字段,只有两个表中有相同的字段我们才能将他们联系起来 学生和成绩两表的的关系 学生是父表 成绩是子表 在学生表中以学号建立主索引,在成绩表中以学号建立候选索引,然后将做索引拖到 候选索引上就可以了。

当然可以

新建个项目,把文件添加进去,数据库,表单,菜单等等

设置主文件,相应环境设置并开始事件循环,

read events

退出程序

clear events

quit

注意这里:

项目连编成exe可执行程序,同时把vfp60运行库文件放在同一目录

运行库可以在以下地址下载

这样就可以在肥vfp环境打开了

重新强调

事件循环(read events)必须开始,否则界面无法停留

_screenvisible=f的情况下,你要显示表单的showwindow属性为顶层表单,否则和_screen一起不可见

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

1、没错,是由

主索引

拖动到非主索引上才可以。

2、联系的

区别

取决于索引的

类型

。如果是都是主索引必定是一对一联系。主索引和普通索引才会建立一对多联系。

3、理解的没错。联系分两种一种永久联系,一种临时联系(也叫做关联)第二种考的很少。

拖动索引的方式建立的就是永久联系,它不会随着数据库

数据表

的关闭而消失。

关联则不同,数据表关闭了,联系就消失了。

以上就是关于VF中建立两个表之间的永久联系,我的是不是建错了(截图)全部的内容,包括:VF中建立两个表之间的永久联系,我的是不是建错了(截图)、两个已创建了永久关系的数据库表,设置其参照完整性的规则为更新级联,其含义是什么、怎么在数据表中建立一对多的永久关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9305654.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存