Hello Dmitry and all MVD fans,
On a Form, I have (on the left), a Tablegrid.
With OnCellClick, I get the ID of the selected item, and display results of various query in Edit Fields, Memo, Comboboxes and DBImages all over the Form.
From here, no problem, quite easy.
But look at my code :
id := IntToStr(list_asset.TableGrid1.dbItemID);
list_asset.EdName.Text := SQLExecute('SELECT asset_name FROM asset WHERE asset.id="'+id+'"');
list_asset.EdSKU.Text := SQLExecute('SELECT asset_sku FROM asset WHERE asset.id="'+id+'"');
list_asset.EdPrice.Text := SQLExecute('SELECT asset_price FROM asset WHERE asset.id="'+id+'"');
list_asset.EdURL.Text := SQLExecute('SELECT asset_url FROM asset WHERE asset.id="'+id+'"');
list_asset.DBImage1.LoadFromDatabase('asset','asset_img1',StrToInt(id));
list_asset.DBImage2.LoadFromDatabase('asset','asset_img2',StrToInt(id));
list_asset.DBImage3.LoadFromDatabase('asset','asset_img3',StrToInt(id));
list_asset.Edvendor.Text := SQLExecute('SELECT vendor.vendor_name FROM vendor INNER JOIN asset ON vendor.id = asset.id_vendor WHERE asset.id ="'+id+'"');
list_asset.MmDetail.Text := SQLExecute('SELECT asset_descr FROM asset WHERE asset.id="'+id+'"');
list_asset.ComboBox1.dbItemID := SQLExecute('SELECT main_cat.id FROM main_cat INNER JOIN asset ON main_cat.id = asset.id_main_cat WHERE asset.id ="'+id+'"');
list_asset.ComboBox2.dbItemID := SQLExecute('SELECT sub_cat.id FROM sub_cat INNER JOIN asset ON sub_cat.id = asset.id_sub_cat WHERE asset.id ="'+id+'"');
list_asset.ComboBox3.dbItemID := SQLExecute('SELECT minor_cat.id FROM minor_cat INNER JOIN asset ON minor_cat.id = asset.id_minor_cat WHERE asset.id ="'+id+'"');
Do you see how many SQLExecute there are here ?
Know, I don't know if it's with TStringList or with Array of string (or something else), but there must be a way to get all data from
SQLExecute('SELECT * FROM asset WHERE asset.id="'+id+'"');
and then to get each result with something like :
list_asset.EdName.Text := Array[0];
list_asset.EdURL.Text := Array[1];
or
list_asset.EdName.Text := TStringList[0];
list_asset.EdURL.Text := TStringList[1];
What would you use, TStringList or Array on a simple query like :
SELECT asset_name, asset_sku, asset_price, asset_url FROM asset
and how ?
Thanks in advance
Cheers
Mathias