问题是这样的
小弟写的程序因为数据量不大用的是sqlite数据库,
现行要向表中插入数据,表结构如下,
表一
name no1 no2
xx 1 6
xx 7 10
xx 11 20
yy 1 6
表二
id name1 xx
2 yy小弟现在冥想的第一个问题是,向表一插入数据的时候,怎么分别保证表一内,xx,yy分组下,no1,no2,不重复录入
也就是说
以当前表一的状态
如果insert yy 7 10 的话就ok
如果insert xx 7 10 的话就表示重复
第二个问题是
同样以当前表一的状态
如果insert xx 8 9 的话也不行,因为 xx 7 10 已经包含了8 9 望各位高手指点一二,不胜感谢
小弟写的程序因为数据量不大用的是sqlite数据库,
现行要向表中插入数据,表结构如下,
表一
name no1 no2
xx 1 6
xx 7 10
xx 11 20
yy 1 6
表二
id name1 xx
2 yy小弟现在冥想的第一个问题是,向表一插入数据的时候,怎么分别保证表一内,xx,yy分组下,no1,no2,不重复录入
也就是说
以当前表一的状态
如果insert yy 7 10 的话就ok
如果insert xx 7 10 的话就表示重复
第二个问题是
同样以当前表一的状态
如果insert xx 8 9 的话也不行,因为 xx 7 10 已经包含了8 9 望各位高手指点一二,不胜感谢
插入XX值的时候,首首先对表字段做select count(*) from 表一 where no1>=:no1 and no2<=:no2 and name=:xxyy
:no1,:no2为要新写入的值 :xxyy为要入的类型。
如果返回值小于零即写入,如果大于零则放弃。
rcount:=Table.fieldbyname('rcount').asinteger;
if rcount>1 then
begin
showmessage('暑假重复:'+floattostr(recode));
end;
好像是我没把问题说清楚吧,大家给的方法都不行耶
我在把问题描述的清晰一点,大家帮我在看看,怎么弄好,首先,表一有上个字段,分别是‘Name’‘no1’‘no2’,表示1~6号xx产品,每个产品的编号是唯一的
表一 name no1 no2
xx 1 6
xx 7 10
xx 11 20
yy 1 6
表二 ,两个字段‘ID’‘Name’
ID Name
1 xx
2 yy
第一个问题是,向‘表一’插入数据的时候,怎么分别保证‘表一’内,xx,yy分组下,no1,no2,不重复录入
以当前‘表一’的状态insert into (Name,no1,no2)values('xx',7,10)的时候就不能插入但是insert into (Name,no1,no2)values('yy',7,10)则可以第二个问题是插入的记录时 no1,no2,不能被已有的no1,no2。所包括同样以‘表一’当前状态insert into (Name,no1,no2)values('xx',8,9)也不能插入,因为,已有的这条记录‘xx’,7,10,记录已经包括了8,9问题就是这样,多谢了
(部分重叠)行不行呢?