DBEditに値を代入する
DBEditなどの DataControlに値を代入してもフォーカスがそのコントロールに来た時点で代入前の状態に戻ってしまいます。こういう場合はそのコントロールに代入するのではなく、そのコントロールに割り当てられているフィールドに代入をします。
なお、データコントロールでデータセットを編集する場合は RequestLiveプロパティが Trueでないといけません。
| ■ DBEditに値を直接代入する例 |
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.RequestLive := True;
Query1.Open;
Query1.First;
Query1.Edit;
//値を代入
// ↓これだとDBEditにフォーカスが移ったときに内容が消えてしまう。
DBEdit1.Text := 'DELPHI';
// ↓こっちが正解
DBEdit1.Field.AsString := 'DELPHI';
// ↓もしくはこう
Query1.FieldByName('FIELDNAME').AsString := 'DELPHI';
end;
|