所谓主键,指的就是主关键字。在一个表中只能有唯一的一个主关键字。
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于网站设计、成都网站制作、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!
当你觉得需要定义多个主键时,多半是你对该表及其周边关系的理解有误。
if object_id('primarytbl') is not null drop table primarytblgo --建主表create table primarytbl( ID int primary key, --主键 aa int, bb int, cc int)go if object_id('foreigntbl') is not null drop table foreigntblgo --建外表create table foreigntbl( ID int primary key, --主键 aa int foreign key references primarytbl(ID) --建立外键 on update cascade, --更新级联 dd int, ee int)go --插入主表数据insert into primarytblselect 1, 1, 2, 3 union allselect 2, 2, 3, 4 union allselect 3, 3, 4, 5 union allselect 4, 4, 5, 6 union allselect 5, 5, 6, 7 union allselect 6, 6, 7, 8go --插入外表数据insert into foreigntblselect 1, 1, 2, 2 union allselect 2, 1, 3, 3 union allselect 3, 2, 4, 4 union allselect 4, 2, 4, 4 union allselect 5, 2, 5, 5 union allselect 6, 3, 6, 6 union allselect 7, 4, 7, 7go --显示主外表信息select *from primarytbl select *from foreigntblgo--primarytbl/*ID aa bb cc----------- ----------- ----------- -----------1 1 2 32 2 3 43 3 4 54 4 5 65 5 6 76 6 7 8--foreigntblID aa dd ee----------- ----------- ----------- -----------1 1 2 22 1 3 33 2 4 44 2 4 45 2 5 56 3 6 67 4 7 7*/ --更新主表主键update primarytblset ID = 8where ID =1go --结果select *from primarytbl select *from foreigntblgo /*--primarytblID aa bb cc----------- ----------- ----------- -----------2 2 3 43 3 4 54 4 5 65 5 6 76 6 7 88 1 2 3--foreigntblID aa dd ee----------- ----------- ----------- -----------1 8 2 22 8 3 33 2 4 44 2 4 45 2 5 56 3 6 67 4 7 7*/ drop table foreigntbldrop table primarytbl
直接用SQL语句创建表时,将字段设置为自动编号主键就可以了。
dim cn as adodb.connection
dim sql as string
set cn=new adodb.connection
cn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=;dbq=" app.path "\Access_db.mdb"
sql="'CREATE TABLE MyCustomers (CustID int IDENTITY (100,1) PRIMARY KEY, CompanyName nvarchar (50))"
cn.execute sql
set cn=nothing
一个可以设置主键,删除唯一的主键,如delete
table
where
主键='"+键值+"',这样每一行都有区分
还可以和控件绑定,如datagrid,可以用datagrid.currentrow来获的当前行
第三种:可以用游标Enumerator,IEnumberator
objenum=dataview.GetEnumerator(),
row=(DataRowView)
objEnum.Current;