当我通过SQL更新语句更改某些字段数据时,我需要看到它反映在DBGrid中,我不确定我正在做的正确方法是否正确 - > IBTable.Refresh。无论如何,它现在工作,但DBGrid的垂直滚动条移动到第一次刷新尝试后的底部,如果我更新,然后再次刷新,垂直滚动条变小,并移动到DBGrid的中间。我不知道如何直接通过在DBGrid中更改值来更新某个字段中的值,如果有人向我展示如何操作,我很感激。如何将DBgrid的滚动条移动到顶端(德尔福)
IBTable.Refresh发布后,如何将DBgrid的垂直滚动条移动到顶部位置并选择最上面的行?
我的代码很简单,因为我使用例如员工数据库以及仍然在学习数据库(火鸟)和德尔福:
procedure TForm1.Button1Click(Sender: TObject);
begin
//open IBQuery1, SQL command is in the component itself
IBQuery1.Open;
Label1.Caption := 'Tokyo''s budget was $' + TCaption(IBQuery1.FieldValues['BUDGET']);
//clear all SQL commands as it's TStrings and remembers prev. added lines
IBUpdateSQL1.ModifySQL.Clear;
//start building the SQL update statement
IBUpdateSQL1.ModifySQL.Append('update DEPARTMENT');
if IBQuery1.FieldValues['BUDGET'] = '30000' then
IBUpdateSQL1.ModifySQL.Append('set BUDGET = 500000')
else
IBUpdateSQL1.ModifySQL.Append('set BUDGET = 30000');
IBUpdateSQL1.ModifySQL.Append('where LOCATION = ''Tokyo''');
//execute SQL update
IBUpdateSQL1.ExecSQL(ukModify);
//close IBQuery1
IBQuery1.Close;
//let's see new field data
IBTable1.Refresh;
end;
什么我做的是从一个select语句读一些现场数据,并改变它相应地与其他值相反,反之亦然。
感谢
欢迎来到SO!你有没有可以分享的UI代码?这只是按钮点击功能。 – Derek
如何调用'IBTable1.First'? –