こんにちは
川上です
Delphiというより、データベースの扱い方になると思いますが、
ご教示いただければ幸いです。
Win10 64bit、Delphi 10.2 VCL+SQLiteで
アプリケーションを作成しています。
複数のテーブルから取得した情報に対してUpdateを
行うにはどうすればいいのでしょうか。
以下は説明のため一部簡略化したサンプルの構成です。
テーブルcompanyの構造とデータ(ID INTEGER ,NAME STRING);
1,Boland
2,CodeGear
3,Embarcadero
テーブルuserの構造とデータ(ID INTEGER ,CLIENTID INTEGER, NAME STRING);
1,1,Tom
2,1,Bob
3,2,Alice
4,3,Marco
DBGridには
Boland,Tom
Boland,Bob
CodeGear,Alice
Embarcadero,Marco
のように表示したいので、
FDQueryのSQLに
select
company.name as cname,
user.name as uname
from company, user
where
company.id=user.clientid;
をセットしました。
(DBGrid.datasource=DataSource1
DataSource1.DataSet=FDQuery です)
これでDBGridに希望の情報が表示されますが、上記のuname
(元々は
user.name)を直接編集してDBNavigatorでコミットすると、
[FireDAC][Phys][SQLite] ERROR: no such column: UNAME.
という例外が出てしまいます。
対象がtableじゃないので当然っちゃ当然なのですが
それではどのように編集するべきなのでしょうか。
tableを単純に表示すればもちろん可能ですが、それでは
参照先の情報(ここでは
company.name)が表示されず、
正しい行の認識ができなくなってしまいます。
どうぞよろしくお願いいたします。