关于数据过滤的小问题!!!!!!!!! (100分)

  • 主题发起人 主题发起人 雪莱
  • 开始时间 开始时间

雪莱

Unregistered / Unconfirmed
GUEST, unregistred user!
数据条件: 有一表(TABLE),TABLE中有四个字段:A;B;C;D.有几条记录.
要求: 在程序运行后,过滤掉表(TABLE)以存在的记录,使DBGRID中不显示记录,但这时对
表(TABLE)进行添加记录,点击保存按钮后,该记录就会过滤掉. 注:允许添加多条记条
保存后记录就会全部过滤掉!!!!! ( 只显示新增的记录就可以原有的数据不要求显示!!)
提供:DATASET过滤语句.重金定谢!!
 
可以如果有自增字段就好了
field>id
 
用filter条件可以,用不存在的条件来过滤。在保存的时候刷新一次,就可以不显示了。
用query 的sql语句也可以。
 
这没看懂,什么叫'过滤掉表(TABLE)以存在的记录'?
 
那还是不要用dbgrid了
数据感知组件不好用
 
不要用TTable,用可更新的TQuery
 
filter :='where 1<0'
就把所有的记录给滤掉了
 
用 TADOquery 来做就可以了,
假设 a number ,并且 a 的实际值总是 > 0.(也可以用其他字段来实现,只要
条件里的值是不可能出现的值)
Select a,b,c,d from Table1 where a = -1 ;
 
不知道你的意思是不是如果只插入一条记录的话,则不过滤,如果插入多条就过滤?
 
你可以在保存时先调用DataSet.DisableControl;然后再将DataSet.Filtered设置为False,在保存后再将DataSet.Filtered设置
为true,最后调用DataSet.EnableControl;
 
我的意思是:程序运行后,过滤掉表(talbe)在的记录,使DBGRID中不显示以前的记录,但这时对
表(TABLE)进行添加记录,点击保存按钮后,该记录就会过滤掉,即:dbgird为空; 注:允许添
加多条记条保存后记录就会全部过滤掉!!!!! yangxiao_jiang, eric.youbin, 我也用
filter试过,如 filter :='where A<0' 可是在我添加第二条记录时第一条记录就自动保存并
过滤掉,不知在什么事件下写这些语句!!我的在form(onshow)事件下写的!
请各位高手给出詊细的事件下的语句!!!!!!!

 
关掉数据表,再打开
 
用一个可更新的查询,不要过滤,如用TADODataSet
设CommandText:='select * from tabname where false';
再Open,之后增加记录会显示,也会提交,但只有再次打开
这个DataSet之后才会是空!
 
建议用Query,查询一个不可能的条件,打开后记录为空,增加也不会自己过滤掉。
 
寫數據集的OnFilterRecord事件.
Accept:=(DataSet.UpdateStatus=usInserted)
 
多谢大家!
可是还是不起作用!
 
这样不知道是否可以实现你的想法?
启动的时候
查询语句如下:
select * from tableName where 1=0

在插入提交之前使用判断
if Query1.RecordCount=1 then
则更换查询语句为
strSQL:=select * from tableName where 1=0 or PrimaryKey='你刚插入的主键值'
else
则更换查询语句为
strSQL:=select * from TableName where 1=0
Query1.Post;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(strSQL);
Query1.Active:=true;
 
多谢大家!
问题已经解决了!散分了!散的不对!
大家请谅解!!!
 
后退
顶部