R raiseye Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-13 #1 我使用ADOQUERY 、DBGrid和edit对一个有10万条记录的表进行添加记录,用edit填写记录的值,dbgrid显示记录,但是,用ADOQUERY 连接数据库时对于这么多的记录会浪费掉大量的计算机资源,同时也希望DBGRID显示的不是表的全部记录,而是刚刚添加的记录?该怎么做?请各位手明确指点,谢!
我使用ADOQUERY 、DBGrid和edit对一个有10万条记录的表进行添加记录,用edit填写记录的值,dbgrid显示记录,但是,用ADOQUERY 连接数据库时对于这么多的记录会浪费掉大量的计算机资源,同时也希望DBGRID显示的不是表的全部记录,而是刚刚添加的记录?该怎么做?请各位手明确指点,谢!
L lifangchao2008 Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-13 #3 如果用插入的话,一般的插入,记录都会在最后一条 可以用SQL语句: Begin Close; SQL.clear; SQL.add('Select * From TableName Where 字段 :=a'); Parameters.parambyname('a').values := Edit1.text; end; 你可以让这个Edit不显示,然后让他等于ADOQuery1.Last最后一条记录!
如果用插入的话,一般的插入,记录都会在最后一条 可以用SQL语句: Begin Close; SQL.clear; SQL.add('Select * From TableName Where 字段 :=a'); Parameters.parambyname('a').values := Edit1.text; end; 你可以让这个Edit不显示,然后让他等于ADOQuery1.Last最后一条记录!
9 9607gfg Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-13 #4 如果你的表中有自增ID或记录添加时间之类的字段,你就可以这样 SELECT TOP 1 * FROM jobs ORDER BY job_id DESC 这样就只把最后一条记录显示出来了!
R raiseye Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-13 #6 我的意思是:比如打开一个窗口进行添加记录,在这个窗回关掉之前无论添加多少条记录DBGRID所显示的就是刚刚添加的记录。也就是我每次在每个EDIT里填完各字段值后一点击保存就可以在DBGRID里看到这条刚添加的记录,保存10条就看到有10条,但不会看到以前(添加窗口打开之前)的记录。 要实现,我是不是要建一个临时表啊?
我的意思是:比如打开一个窗口进行添加记录,在这个窗回关掉之前无论添加多少条记录DBGRID所显示的就是刚刚添加的记录。也就是我每次在每个EDIT里填完各字段值后一点击保存就可以在DBGRID里看到这条刚添加的记录,保存10条就看到有10条,但不会看到以前(添加窗口打开之前)的记录。 要实现,我是不是要建一个临时表啊?
R raiseye Unregistered / Unconfirmed GUEST, unregistred user! 2006-07-13 #7 9607gfg "ORDER BY job_id DESC"你知道这(ORDER BY) 对于有10万条记录的表来讲意味着什么吗?而且不是我想要的答案。 lifangchao2008的SQL.add('Select * From TableName Where 字段 :=a');倒是提醒了我。 谢谢大家,希望有更好的答案,主要是省源,方便查看新添加的记录
9607gfg "ORDER BY job_id DESC"你知道这(ORDER BY) 对于有10万条记录的表来讲意味着什么吗?而且不是我想要的答案。 lifangchao2008的SQL.add('Select * From TableName Where 字段 :=a');倒是提醒了我。 谢谢大家,希望有更好的答案,主要是省源,方便查看新添加的记录