我需要帮助解决以下问题。我有一个dbgrid,底层查询被过滤了。我想要应用一个新的过滤器,但要保持dbgrid中的行号不变。下面是我的代码:
with qrProperties do
begin
...
MyPoint:=GetBookmark;
Filter:='N<>'+IntToStr(ResultPropertyN);
Filtered:=True;
GotoBookmark(MyPoint);
end;
当它被执行时,会引发一个带有消息“找不到记录”的EDBEngineError。我的解释是,书签函数没有考虑筛选器,过程GotoBook
我有一个DBGrid,并使用它将数据放入Array中。但是,当我按下按钮执行此过程时,我得到了一个StackOverFlow错误?下面是我使用的代码:
iRy := 0;
iCol := DBGrid.Columns.Count;
sTest := DBGrid.Columns[0].Field.AsString;
While sTest <> '' do
begin
for k := 1 to iCol do
begin
arrData[iRy+1,iCol] := DBGrid.Columns[iCol].Field.AsStr
我想知道为什么我的DBGridEh (后裔DBGrid)在我使用下面的MRE删除数据库中的记录后没有刷新。你会发现我的4次尝试评论如下,但没有运气。删除基本工作,但DBGrid不更新或断开与数据源的连接。
procedure TForm9.btnDeleteClick(Sender: TObject);
begin
//cds1.DisableControls; //attempt 1 failed. It deletes the record but not changes on the DBGrid
uq1.SQL.Clear;
uq1.SQL.Text := 'DEL
我正在开发Windows窗体应用程序,它访问SQL Server 2014中的数据库。我有EmployeeTable,我从它中检索数据,并在DataGridView中显示所有记录。在这个表中,我有一个列SequenceID,它基本上从1增加到这个表中的记录数,但这与AUTO INCREMENT不一样,因为每次修改表时都会更新SequenceID,不管插入多少次新记录或删除一些记录,SequenceID都会保持数字顺序。例如,如果数据看起来像
SequenceID | Name
1 | John
2 | Mary
3 | Robert
然后删
我把TDBGrid和女巫联系上了,我连接了FDQuery。单击列标题时,我使用FDQuery索引对记录进行动态排序。
procedure TMainDM.CreateIndexes(AQuery: TFDQuery);
var
I: Integer;
begin
try
AQuery.Indexes.Clear;
for I := 0 to AQuery.FieldCount - 1 do
begin
with AQuery.Indexes.Add do
begin
Name := AQuery.Fields[i].Fie