<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Український форум програмістів - SQL запити та вивід даних на форму]]></title>
		<link>https://replace.org.ua/topic/16040/</link>
		<atom:link href="https://replace.org.ua/feed/rss/topic/16040/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Останні повідомлення в SQL запити та вивід даних на форму.]]></description>
		<lastBuildDate>Thu, 21 Nov 2024 12:54:57 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: SQL запити та вивід даних на форму]]></title>
			<link>https://replace.org.ua/post/197190/#p197190</link>
			<description><![CDATA[<p>Добрий день!<br />Я думав, що проблема в тому що в обидвох таблицях поле має однакову назву тому в першій таблиці перейменував поле Continent в ID_Continent та переробив запит<br /></p><div class="quotebox" style="padding: 0px;"><div onclick="var e,d,c=this.parentNode,a=c.getElementsByTagName('div')[1],b=this.getElementsByTagName('span')[0];if(a.style.display!=''){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)['backgroundColor'];if(d=='transparent'||d=='rgba(0, 0, 0, 0)')d=e;c=c.parentNode;}a.style.display='';a.style.backgroundColor=d;b.innerHTML='&#9650;';}else{a.style.display='none';b.innerHTML='&#9660;';}" style="font-weight: bold; cursor: pointer; font-size: 0.9em;"><span style="padding: 0 5px;">&#9660;</span>Прихований текст</div><div style="padding: 6px; margin: 0; display: none;"><div class="codebox"><pre><code>procedure TfrEditCountry.selectTableCountry;
begin
  with adoQrCountry do
    begin
      SQL.Clear;//Очищаємо запит
      SQL.Add(&#039;SELECT MSCountry.ID, MSCountry.Country, MSCountry.CountryEnglish,&#039;+
              &#039; MSContinent.Continent, MSCountry.CountryDisappeared, MSCountry.ID_Continent&#039;+
              &#039; FROM MSCountry&#039;+
              &#039; LEFT JOIN MSContinent ON MSCountry.ID_Continent=MSContinent.ID&#039;+
              &#039; ORDER BY Country ASC&#039;);
              //Створюємо новий запит
      Active:=True;//Активуємо запит
    end;
end</code></pre></div><p>;</p></div></div><p>Думав, що це виправить помилку, але на жаль не допомогло. Тут або я щось не так зробив, або в JOIN-ні цього непередбачено.</p><p>Але дякуючи пану Torbins, що підказав мені один із варіантів по якому я пішов, і все запрацювало.<br /></p><div class="quotebox" style="padding: 0px;"><div onclick="var e,d,c=this.parentNode,a=c.getElementsByTagName('div')[1],b=this.getElementsByTagName('span')[0];if(a.style.display!=''){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)['backgroundColor'];if(d=='transparent'||d=='rgba(0, 0, 0, 0)')d=e;c=c.parentNode;}a.style.display='';a.style.backgroundColor=d;b.innerHTML='&#9650;';}else{a.style.display='none';b.innerHTML='&#9660;';}" style="font-weight: bold; cursor: pointer; font-size: 0.9em;"><span style="padding: 0 5px;">&#9660;</span>Прихований текст</div><div style="padding: 6px; margin: 0; display: none;"><div class="codebox"><pre><code>procedure TfrEditCountry.spBtAddDatabaseCountryClick(Sender: TObject);
var
  sErrorAddDatabase: string;
  sNameContinent: string;  
  sIDCountry: string;
  iIDContinent: integer;
begin
  if (edCountry.Text=&#039;&#039;) or (cmBxContinent.Text=&#039;&#039;) then
    begin
      sErrorAddDatabase:=edCountry.Hint+&#039;, &#039;+cmBxContinent.Hint;
      ShowMessage(sErrorAddDatabase);
    end;
  sNameContinent:=QuotedStr(Trim(cmBxContinent.Text));
  with frEditContinent.adoQrContinent do
    begin
      SQL.Clear;//Очищаємо запит
      SQL.Add(&#039;SELECT MSContinent.ID, MSContinent.Continent&#039;+
              &#039; FROM MSContinent&#039;+
              &#039; WHERE MSContinent.Continent=&#039;+sNameContinent);
      Active:=True;//Активуємо запит
    end;
  iIDContinent:=frEditContinent.adoQrContinent.FieldByName(&#039;ID&#039;).AsInteger;
  if (edCountry.Text&lt;&gt;&#039;&#039;) and (cmBxContinent.Text&lt;&gt;&#039;&#039;) then
    begin
      with adoQrCountry do
        begin
          SQL.Clear;//Очищаємо запит
          SQL.Add(&#039;SELECT * FROM MSCountry ORDER BY MSCountry.ID ASC&#039;);
          Active:=True;//Активуємо запит
          Insert;//Додаємо рядок в таблицю
          FieldByName(&#039;Country&#039;).AsString:=Trim(edCountry.Text);//заповнюємо поле Країни в таблиці
          FieldByName(&#039;CountryEnglish&#039;).AsString:=Trim(edCountryEnglish.Text);//заповнюємо поле Країни(англійською)
          FieldByName(&#039;ID_Continent&#039;).AsInteger:=iIDContinent;//заповнюємо поле Континенти
          FieldByName(&#039;CountryDisappeared&#039;).AsBoolean:=ckBxCountryDisappeared.Checked;
          Post;//Зберігаємо дані
          Refresh;//Оновлюємо дані
        end;    
      adoQrCountry.Last;//Переходимо на останній(доданий)рядок
      sIDCountry:=IntToStr(adoQrCountry.FieldByName(&#039;ID&#039;).AsInteger);//Беремо ID
      selectTableCountry;//Виводимо запит з таблиці, заповнюємо BDGrig
      adoQrCountry.Locate(&#039;ID&#039;,sIDCountry, []);//Переходимо на доданий рядок
      clearAllTextComponent;//Очищаємо поля на формі
    end;
end;</code></pre></div></div></div><p>Сподіваюся, що не сильно з кодом напартачив.<br />Але, якщо щось не так, то щиро буду вдячний за критику.</p>]]></description>
			<author><![CDATA[null@example.com (Romanvolja)]]></author>
			<pubDate>Thu, 21 Nov 2024 12:54:57 +0000</pubDate>
			<guid>https://replace.org.ua/post/197190/#p197190</guid>
		</item>
		<item>
			<title><![CDATA[Re: SQL запити та вивід даних на форму]]></title>
			<link>https://replace.org.ua/post/197114/#p197114</link>
			<description><![CDATA[<div class="quotebox"><cite>Romanvolja написав:</cite><blockquote><div class="codebox"><pre><code>//...
          FieldByName(&#039;Continent&#039;).AsString:=Trim(cmBxContinent.Text);//заповнюємо поле Континенти
//...</code></pre></div><p>при цьому дані заносяться аж в обидві таблиці <br />хоча в таблицю MSContinent(континенти) я не планував заносити дані.</p></blockquote></div><p>У вас в запиті є лише одне поле з назвою Continent і це MSContinent.Continent. В даному випадку ADO байдуже, що в таблиці MSCountry також є поле з такою назвою, бо серед відображуваних селектом полів воно не згадується. Якщо вам усе ж потрібно відредагувати поле MSCountry.Continent, то вам потрібен інший запит, або взагалі окремий TADOTable для MSCountry.</p><div class="quotebox"><cite>Romanvolja написав:</cite><blockquote><p>додаток компілюється, але при роботі в самому додатку <br />ShowMessage виводить помилку &quot;Недостатньо відомостей ключового поля для оновлення&quot;</p></blockquote></div><p>Схоже АДО намагається автоматично згенерувати запит оновлення даних на основі селекта, і у нього не виходить розібратись з джойном двох таблиць. Це хороший приклад того, що відбувається, коли в якійсь бібліотеці надто складна і закручена логіка роботи. Уся ця логіка перетворюється на магію, і поведінка бібліотеки стає непередбачуваною. Для прикладу в бібліотеці FireDAC просто зробили окремий компонент TFDUpdateSQL який дозволяє явно задати запит для оновлення даних. АДО, за задумом його творців, мав би справлятися автоматично, тому в ньому є лише мінімальні засоби виправлення помилок. Можливо вам допоможе щось таке:<br /></p><div class="codebox"><pre><code>frEditBase.adoQrEdit.Properties[&#039;Unique Table&#039;].Value := &#039;MSCountry&#039;;</code></pre></div><p>Але загалом раджу просто кинути на форму окремий TADOTable для виконання оновлень даних.</p>]]></description>
			<author><![CDATA[null@example.com (Torbins)]]></author>
			<pubDate>Fri, 15 Nov 2024 19:57:26 +0000</pubDate>
			<guid>https://replace.org.ua/post/197114/#p197114</guid>
		</item>
		<item>
			<title><![CDATA[Re: SQL запити та вивід даних на форму]]></title>
			<link>https://replace.org.ua/post/197073/#p197073</link>
			<description><![CDATA[<p>Добрий вечір!<br />Мене знову занесло кудись не туди.<br />Щось в мене не виходить додавати в базу дані з допомогою TADOQuery</p><p> Роблю вибірку з БД так:<br /></p><div class="codebox"><pre><code>procedure TfrEditCountry.selectTableCountry;
begin
  with frEditBase.adoQrEdit do
    begin
      SQL.Clear;//Очищаємо запит
      SQL.Add(&#039;SELECT MSCountry.ID, MSCountry.Country, MSCountry.CountryEnglish,&#039;+
              &#039; MSContinent.Continent, MSCountry.CountryDisappeared&#039;+
              &#039; FROM MSCountry&#039;+
              &#039; LEFT JOIN MSContinent ON MSCountry.Continent=MSContinent.ID&#039;+
              &#039; ORDER BY Country ASC&#039;);
              //Створюємо новий запит
      Active:=True;//Активуємо запит 
    end;
end;</code></pre></div><p>Тут все чудово.</p><p>А щоби додати дані в БД я написав так:<br /></p><div class="codebox"><pre><code>procedure TfrEditCountry.spBtAddDatabaseCountryClick(Sender: TObject);
begin
  if (edCountry.Text&lt;&gt;&#039;&#039;) or (cmBxContinent.Text&lt;&gt;&#039;&#039;) then
    begin
      with frEditBase.adoQrEdit do
        begin
          Insert;//Створюємо новий рядок в таблиці
          FieldByName(&#039;Country&#039;).AsString:=Trim(edCountry.Text);//заповнюємо поле Країни в таблиці
          FieldByName(&#039;CountryEnglish&#039;).AsString:=Trim(edCountryEnglish.Text);//заповнюємо поле Країни(англійською)
          FieldByName(&#039;Continent&#039;).AsString:=Trim(cmBxContinent.Text);//заповнюємо поле Континенти
          FieldByName(&#039;CountryDisappeared&#039;).AsBoolean:=ckBxCountryDisappeared.Checked;
          Post;//Зберігаємо дані
          Refresh;//Оновлюємо дані
        end;
    end;
  clearAllTextComponent;//Очищаємо поля на формі
end;</code></pre></div><p>додаток компілюється, але при роботі в самому додатку <br />ShowMessage виводить помилку &quot;Недостатньо відомостей ключового поля для оновлення&quot;,<br />та при цьому дані заносяться аж в обидві таблиці <br />хоча в таблицю MSContinent(континенти) я не планував заносити дані.<br />Допоможіть виявити мою помилку буду щиро вдячний.</p>]]></description>
			<author><![CDATA[null@example.com (Romanvolja)]]></author>
			<pubDate>Wed, 13 Nov 2024 21:00:47 +0000</pubDate>
			<guid>https://replace.org.ua/post/197073/#p197073</guid>
		</item>
		<item>
			<title><![CDATA[Re: SQL запити та вивід даних на форму]]></title>
			<link>https://replace.org.ua/post/196913/#p196913</link>
			<description><![CDATA[<div class="quotebox"><cite>Romanvolja написав:</cite><blockquote><p>try постараюся більше його не використовувати.</p></blockquote></div><p>try/except - це хороша фіча, але тільки якщо секція except не є порожньою і містить якісь дії. Наприклад в даному випадку замість того щоб показувати помилки користувачу, ми записуємо їх в логи:<br /></p><div class="codebox"><pre><code>try
  //...
except
  on e: Exception do
    Log.Add(e);
end;</code></pre></div><p>Ясна річ, що у вас десь має бути об&#039;єкт Log, який вміє записувати інформацію про Exception в файл.</p>]]></description>
			<author><![CDATA[null@example.com (Torbins)]]></author>
			<pubDate>Tue, 05 Nov 2024 19:02:37 +0000</pubDate>
			<guid>https://replace.org.ua/post/196913/#p196913</guid>
		</item>
		<item>
			<title><![CDATA[Re: SQL запити та вивід даних на форму]]></title>
			<link>https://replace.org.ua/post/196907/#p196907</link>
			<description><![CDATA[<div class="quotebox"><cite>frz написав:</cite><blockquote><div class="quotebox" style="padding: 0px;"><div onclick="var e,d,c=this.parentNode,a=c.getElementsByTagName('div')[1],b=this.getElementsByTagName('span')[0];if(a.style.display!=''){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)['backgroundColor'];if(d=='transparent'||d=='rgba(0, 0, 0, 0)')d=e;c=c.parentNode;}a.style.display='';a.style.backgroundColor=d;b.innerHTML='&#9650;';}else{a.style.display='none';b.innerHTML='&#9660;';}" style="font-weight: bold; cursor: pointer; font-size: 0.9em;"><span style="padding: 0 5px;">&#9660;</span>чат</div><div style="padding: 6px; margin: 0; display: none;"><div class="quotebox" style="padding: 0px;"><div onclick="var e,d,c=this.parentNode,a=c.getElementsByTagName('div')[1],b=this.getElementsByTagName('span')[0];if(a.style.display!=''){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)['backgroundColor'];if(d=='transparent'||d=='rgba(0, 0, 0, 0)')d=e;c=c.parentNode;}a.style.display='';a.style.backgroundColor=d;b.innerHTML='&#9650;';}else{a.style.display='none';b.innerHTML='&#9660;';}" style="font-weight: bold; cursor: pointer; font-size: 0.9em;"><span style="padding: 0 5px;">&#9660;</span>безкоштовна версія</div><div style="padding: 6px; margin: 0; display: none;"><div class="quotebox"><cite>ґпт написав:</cite><blockquote><p>... Проблема, швидше за все, полягає у зв&#039;язку полів</p></blockquote></div></div></div></div></div></blockquote></div><p>Дякую за допомогу. Так і було як ви сказали - невідповідність назв. Вже виправив.</p><div class="quotebox"><cite>frz написав:</cite><blockquote><div class="quotebox" style="padding: 0px;"><div onclick="var e,d,c=this.parentNode,a=c.getElementsByTagName('div')[1],b=this.getElementsByTagName('span')[0];if(a.style.display!=''){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)['backgroundColor'];if(d=='transparent'||d=='rgba(0, 0, 0, 0)')d=e;c=c.parentNode;}a.style.display='';a.style.backgroundColor=d;b.innerHTML='&#9650;';}else{a.style.display='none';b.innerHTML='&#9660;';}" style="font-weight: bold; cursor: pointer; font-size: 0.9em;"><span style="padding: 0 5px;">&#9660;</span>чат</div><div style="padding: 6px; margin: 0; display: none;"><div class="quotebox" style="padding: 0px;"><div onclick="var e,d,c=this.parentNode,a=c.getElementsByTagName('div')[1],b=this.getElementsByTagName('span')[0];if(a.style.display!=''){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)['backgroundColor'];if(d=='transparent'||d=='rgba(0, 0, 0, 0)')d=e;c=c.parentNode;}a.style.display='';a.style.backgroundColor=d;b.innerHTML='&#9650;';}else{a.style.display='none';b.innerHTML='&#9660;';}" style="font-weight: bold; cursor: pointer; font-size: 0.9em;"><span style="padding: 0 5px;">&#9660;</span>безкоштовна версія</div><div style="padding: 6px; margin: 0; display: none;"><div class="quotebox"><cite>ґпт написав:</cite><blockquote><p>...&nbsp; код виглядає майже правильно</p></blockquote></div></div></div></div></div></blockquote></div><p>Дякую за зауваження код переробив вийшло приблизно так. </p><br /><br /><div class="codebox"><pre><code>procedure TfrMain.SelectTableAMSMain;
begin
  adoQrMain.SQL.Clear;
  adoQrMain.SQL.Add(&#039;SELECT &#039;+
    &#039;AMSMain.ID,                   AMSMain.Title,               MSContinent.Continent, &#039;+
    &#039;AMSMain.IHave,                AMSMain.Desirable,           AMSMain.CountryDisappeared, &#039;+
    &#039;MSCountry.Country,            MSPeriod.Period,             AMSMain.Subject, &#039;+
....

    &#039;FROM ((((( ((((( ((((( ((AMSMain  &#039;+
    &#039;LEFT JOIN MSContinent ON AMSMain.Continent=MSContinent.ID) &#039;+
    &#039;LEFT JOIN MSCountry ON AMSMain.Country=MSCountry.ID) &#039;+
    &#039;LEFT JOIN MSPeriod ON AMSMain.Period=MSPeriod.ID) &#039;+
    &#039;LEFT JOIN MSSeries ON AMSMain.Series=MSSeries.ID) &#039;+
    &#039;LEFT JOIN MSRuler ON AMSMain.Ruler=MSRuler.ID) &#039;+
.....

    &#039;LEFT JOIN MSMetal ON AMSMain.Metal=MSMetal.ID) &#039;+
    &#039;LEFT JOIN MSSample ON AMSMain.Sample=MSSample.ID &#039;+
    &#039;ORDER BY AMSMain.Title ASC &#039;);
  adoQrMain.Active:=True;
end;</code></pre></div><div class="quotebox"><cite>Torbins написав:</cite><blockquote><p>Cкоріше за все проблема з об&#039;єднанням таблиць, спробуйте переробити запит з використанням JOIN.</p><div class="quotebox"><blockquote><div class="codebox"><pre><code>  try
  //...
  except
  on e:Exception do
  end;</code></pre></div></blockquote></div><p>Не робіть так. Якщо у програмі є помилка, то її треба виправляти, а не ігнорувати.</p></blockquote></div><p>Дякую JOIN для мого задуму підходить краще. <br />Бо мені потрібно було з лівої таблиці вивести всі рядки, а WHERE викидав які були незаповнені і це виявилося проблемою при об&#039;єднанні декількох таблиць.</p><p>try постараюся більше його не використовувати.</p>]]></description>
			<author><![CDATA[null@example.com (Romanvolja)]]></author>
			<pubDate>Mon, 04 Nov 2024 23:31:44 +0000</pubDate>
			<guid>https://replace.org.ua/post/196907/#p196907</guid>
		</item>
		<item>
			<title><![CDATA[Re: SQL запити та вивід даних на форму]]></title>
			<link>https://replace.org.ua/post/196846/#p196846</link>
			<description><![CDATA[<p>Cкоріше за все проблема з об&#039;єднанням таблиць, спробуйте переробити запит з використанням JOIN.</p><div class="quotebox"><blockquote><div class="codebox"><pre><code>  try
  //...
  except
  on e:Exception do
  end;</code></pre></div></blockquote></div><p>Не робіть так. Якщо у програмі є помилка, то її треба виправляти, а не ігнорувати.</p>]]></description>
			<author><![CDATA[null@example.com (Torbins)]]></author>
			<pubDate>Fri, 01 Nov 2024 20:18:54 +0000</pubDate>
			<guid>https://replace.org.ua/post/196846/#p196846</guid>
		</item>
		<item>
			<title><![CDATA[Re: SQL запити та вивід даних на форму]]></title>
			<link>https://replace.org.ua/post/196805/#p196805</link>
			<description><![CDATA[<div class="quotebox" style="padding: 0px;"><div onclick="var e,d,c=this.parentNode,a=c.getElementsByTagName('div')[1],b=this.getElementsByTagName('span')[0];if(a.style.display!=''){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)['backgroundColor'];if(d=='transparent'||d=='rgba(0, 0, 0, 0)')d=e;c=c.parentNode;}a.style.display='';a.style.backgroundColor=d;b.innerHTML='&#9650;';}else{a.style.display='none';b.innerHTML='&#9660;';}" style="font-weight: bold; cursor: pointer; font-size: 0.9em;"><span style="padding: 0 5px;">&#9660;</span>чат</div><div style="padding: 6px; margin: 0; display: none;"><div class="quotebox" style="padding: 0px;"><div onclick="var e,d,c=this.parentNode,a=c.getElementsByTagName('div')[1],b=this.getElementsByTagName('span')[0];if(a.style.display!=''){while(c.parentNode&&(!d||!e||d==e)){e=d;d=(window.getComputedStyle?getComputedStyle(c, null):c.currentStyle)['backgroundColor'];if(d=='transparent'||d=='rgba(0, 0, 0, 0)')d=e;c=c.parentNode;}a.style.display='';a.style.backgroundColor=d;b.innerHTML='&#9650;';}else{a.style.display='none';b.innerHTML='&#9660;';}" style="font-weight: bold; cursor: pointer; font-size: 0.9em;"><span style="padding: 0 5px;">&#9660;</span>безкоштовна версія</div><div style="padding: 6px; margin: 0; display: none;"><div class="quotebox"><cite>ґпт написав:</cite><blockquote><p>Ваш код виглядає майже правильно, і логіка здається зрозумілою. Проблема, швидше за все, полягає у зв&#039;язку полів `edContinent` та `edCountry` з відповідними даними в `adoQrMain`. Якщо `edMainID` та `edTitle` працюють, а `edContinent` і `edCountry` — ні, ймовірно, поля `Continent` та `Country` в `adoQrMain` не містять значень або не оновлюються при виборі рядка в `dbGrMain`.</p><p>Перевірте такі моменти:</p><p>1. **Поля в `adoQrMain`**: Переконайтеся, що запит виконується правильно і таблиця `adoQrMain` дійсно містить дані в полях `Continent` та `Country`. Спробуйте перевірити результат запиту через відладник або додати рядок `ShowMessage` для виводу цих значень у вашій процедурі `dbGrMainCellClick`.</p><p>&nbsp; &nbsp;```pascal<br />&nbsp; &nbsp;ShowMessage(adoQrMain.FieldByName(&#039;Continent&#039;).AsString);<br />&nbsp; &nbsp;ShowMessage(adoQrMain.FieldByName(&#039;Country&#039;).AsString);<br />&nbsp; &nbsp;```</p><p>2. **Поле `dbGrMain`**: Переконайтеся, що клацання по `dbGrMain` активує відповідний запис в `adoQrMain`, а також що `adoQrMain` дійсно пов&#039;язаний з `dbGrMain` (наприклад, перевірте, чи властивість `DataSource` `dbGrMain` вказує на джерело даних з `adoQrMain`).</p><p>3. **Перевірка імен полів**: Переконайтеся, що імена полів у запиті `SQL` точно збігаються з тими, що ви використовуєте в `FieldByName`.</p></blockquote></div></div></div></div></div>]]></description>
			<author><![CDATA[null@example.com (frz)]]></author>
			<pubDate>Wed, 30 Oct 2024 18:39:51 +0000</pubDate>
			<guid>https://replace.org.ua/post/196805/#p196805</guid>
		</item>
		<item>
			<title><![CDATA[SQL запити та вивід даних на форму]]></title>
			<link>https://replace.org.ua/post/196803/#p196803</link>
			<description><![CDATA[<div class="codebox"><pre><code>type
  TfrMain = class(TForm)
    edMainID: TEdit;
    edTitle: TEdit;
    edContinent: TEdit;
    edCountry: TEdit;
    dbGrMain: TDBGrid;
    adoQrMain: TADOQuery;</code></pre></div><p>...</p><p>Виконую запит на вибірку даних</p><div class="codebox"><pre><code>    adoQrMain.SQL.Clear;
    adoQrMain.SQL.Add(&#039;SELECT AMSMain.ID, AMSMain.Title, MSContinent.Continent, MSCountry.Country &#039;+
    &#039;FROM AMSMain, MSContinent, MSCountry &#039;+
    &#039;WHERE AMSMain.Continent=MSContinent.ID AND AMSMain.Country=MSCountry.ID&#039; );
    adoQrMain.Active:=True;</code></pre></div><p>тут все чудово</p><br /><p>далі виводжу дані на форму і тут щось не так, бо перші два Edit-ти - добре, а другі не працюють<br /></p><div class="codebox"><pre><code>procedure TfrMain.dbGrMainCellClick(Column: TColumn);
begin
  try
    edMainID.Text:=IntToStr(adoQrMain.FieldByName(&#039;ID&#039;).AsInteger);
    edTitle.Text:=adoQrMain.FieldByName(&#039;Title&#039;).AsString;
    edContinent.Text:=adoQrMain.FieldByName(&#039;Continent&#039;).AsString;
    edCountry.Text:=adoQrMain.FieldByName(&#039;Country&#039;).AsString;
  except
  on e:Exception do
  end;
end;</code></pre></div><p><span style="color: red">Підкажіть будь-ласка де я зробив помилку, буду щиро вдячний.</span></p>]]></description>
			<author><![CDATA[null@example.com (Romanvolja)]]></author>
			<pubDate>Wed, 30 Oct 2024 17:34:36 +0000</pubDate>
			<guid>https://replace.org.ua/post/196803/#p196803</guid>
		</item>
	</channel>
</rss>
