<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900145</guid>
        <pubDate>Tue, 13 Feb 2024 06:17:31 +0000</pubDate>
        <title>Работа с SQLite</title>
        <link>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900145</link>
        <description><![CDATA[tumanovalex: Спасибо, понял.]]></description>
        <author>tumanovalex</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900140</guid>
        <pubDate>Mon, 12 Feb 2024 18:10:52 +0000</pubDate>
        <title>Работа с SQLite</title>
        <link>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900140</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=442227&view=findpost&p=3900136'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>tumanovalex &#064; <time class="tag-quote__quoted-time" datetime="2024-02-12T15:52:31+00:00">12.02.24, 15:52</time></span><div class='quote '>Спасибо, помогло. А где Вы об этом прочитали? Я найти не смог. Подскажите, пожалуйста, чтобы я смог в будущем найти нужную информацию.</div></div><br>
Ну документацию нужно читать внимательнее. Что касается автоинкремента - инфа есть в разделе &quot;<a class='tag-url' href='https://www.sqlite.org/fileformat.html#the_sqlite_sequence_table' target='_blank'>2.6.3. The sqlite_sequence table</a>&quot;. Самого запроса там нет, но есть структура таблицы. Как обновить инфу - догадаться не сложно.]]></description>
        <author>Majestio</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900136</guid>
        <pubDate>Mon, 12 Feb 2024 15:52:31 +0000</pubDate>
        <title>Работа с SQLite</title>
        <link>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900136</link>
        <description><![CDATA[tumanovalex: Спасибо, помогло. А где Вы об этом прочитали? Я найти не смог. Подскажите, пожалуйста, чтобы я смог в будущем найти нужную информацию.]]></description>
        <author>tumanovalex</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900116</guid>
        <pubDate>Mon, 12 Feb 2024 10:35:19 +0000</pubDate>
        <title>Работа с SQLite</title>
        <link>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900116</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=442227&view=findpost&p=3900109'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>tumanovalex &#064; <time class="tag-quote__quoted-time" datetime="2024-02-12T09:17:27+00:00">12.02.24, 09:17</time></span><div class='quote '>Спасибо, получмлось. Возник еще вопрос. В процессе экспериментов по добавлению (удалению) записей в базу с автоинкрeментным индексом последний индекс запоминается и после удаления всех записей и последующем добавлении индекс не становится индексом с номером 1, а становится увеличенным на 1 последним запомненным индексом. Можно ли после удаления всех записей из базы как-то скинуть индекс в 0, чтобы при добавлении индексы записей начинались с 1?</div></div><br>
Попробуй после удаления всех записей выполнить запрос:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">UPDATE SQLITE_SEQUENCE SET seq = 0 WHERE name = &#39;имя_таблицы&#39;;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Majestio</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900109</guid>
        <pubDate>Mon, 12 Feb 2024 09:17:27 +0000</pubDate>
        <title>Работа с SQLite</title>
        <link>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900109</link>
        <description><![CDATA[tumanovalex: Спасибо, получмлось. Возник еще вопрос. В процессе экспериментов по добавлению (удалению) записей в базу с автоинкрeментным индексом последний индекс запоминается и после удаления всех записей и последующем добавлении индекс не становится индексом с номером 1, а становится увеличенным на 1 последним запомненным индексом. Можно ли после удаления всех записей из базы как-то скинуть индекс в 0, чтобы при добавлении индексы записей начинались с 1?]]></description>
        <author>tumanovalex</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900085</guid>
        <pubDate>Sun, 11 Feb 2024 23:49:58 +0000</pubDate>
        <title>Работа с SQLite</title>
        <link>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900085</link>
        <description><![CDATA[Majestio: Попробуй использовать другую функцию - <a class='tag-url' href='https://www.oreilly.com/library/view/using-sqlite/9781449394592/re303.html' target='_blank'>sqlite3_open_v2</a>, поиграйся с флагами. По идее этот вариант тебе поможет выявить ошибки: файл БД отсутствует или файл БД есть, но невалидного формата. Но если функция вернет ок - тебе останется самостоятельно проверять наличие в файле БД правильных таблиц (нужного тебе формата). Ну я так вижу решение этого вопроса.]]></description>
        <author>Majestio</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900084</guid>
        <pubDate>Sun, 11 Feb 2024 17:39:26 +0000</pubDate>
        <title>Работа с SQLite</title>
        <link>https://forum.sources.ru/index.php?showtopic=442227&amp;view=findpost&amp;p=3900084</link>
        <description><![CDATA[tumanovalex: Здравствуйте&#33;<br>
Изучая работу с SQLite с помошью С++ не понял, как определить, что не удалось открыть базу данных. В простой программе:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;string&#62;</div><div class="code_line">#include &quot;sqlite3.h&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">using namespace std;</div><div class="code_line">&nbsp;</div><div class="code_line">namespace fs = filesystem;</div><div class="code_line">&nbsp;</div><div class="code_line">void DisplayMessage(const string&amp; sMes)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;cout &#60;&#60; sMes &#60;&#60; endl;</div><div class="code_line">&nbsp;&nbsp;cin.get(); </div><div class="code_line">&nbsp;&nbsp;exit(EXIT_FAILURE);</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">int main()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;sqlite3* db;</div><div class="code_line">&nbsp;&nbsp;//string sqlName = &quot;SQLiteTest.db&quot;;</div><div class="code_line">&nbsp;&nbsp;string sqlName = &quot;Test.db&quot;;</div><div class="code_line">&nbsp;&nbsp;int rs = sqlite3_open(sqlName.c_str(), &amp;db);</div><div class="code_line">&nbsp;&nbsp;if(rs != SQLITE_OK)</div><div class="code_line">&nbsp;&nbsp; &nbsp;DisplayMessage(&quot;The database could not be opened!&quot;);</div><div class="code_line">&nbsp;&nbsp;sqlite3_close(db);</div><div class="code_line">&nbsp;&nbsp;cin.get();</div><div class="code_line">&nbsp;&nbsp;return 0;</div><div class="code_line">}</div></ol></div></div></div></div>У меня база SQLiteTest.db, но если имя базы данных указано неправильно, то sqlite3_open создает новую пустую базу данных. Т.е. получается, что дальнейшая работа с базой данной (добавление, удаление и чтение из базы данных) бессмысленна, поскольку нужная структура базы данных отсуствует. Правильно ли я понимаю:<br>
1. При открытии базы данных нужно проверить наличие файла с нужным именем, а не анализировать код возврата функции?<br>
2. Проверять значение кода возврата нужно при работе с уже открытой базой?]]></description>
        <author>tumanovalex</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      </channel>
      </rss>
	