<?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=419122&amp;view=findpost&amp;p=3833948</guid>
        <pubDate>Tue, 07 Jul 2020 15:21:09 +0000</pubDate>
        <title>MySQL vs VS2017</title>
        <link>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833948</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=419122&view=findpost&p=3833917'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>YuriyRusinov &#064; <time class="tag-quote__quoted-time" datetime="2020-07-07T15:11:57+03:00">07.07.20, 12:11</time></span><div class='quote '>Это означает, что строковые величины в запросе должны быть такими как &#39;Vasiliy Pupkin&#39;, т.е. в обязательном порядке заключены в апострофы.<br>
</div></div><br>
Плюс ко всему - нужно смотреть что передается в строке. Допустим, нам нужно найти все записи, где поле содержит строку из одного апострофа. Если запрос &quot;клеить&quot; просто так - будет ошибка SQL. В различных либах применяются свои решения. Могу привести пример (не поиска конечно) для Qt:<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">QSqlQuery query;</div><div class="code_line">query.prepare(&quot;INSERT INTO employee (id, name, salary) &quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&quot;VALUES (:id, :name, :salary)&quot;);</div><div class="code_line">query.bindValue(&quot;:id&quot;, 1001);</div><div class="code_line">query.bindValue(&quot;:name&quot;, &quot;Thad Beaumont&quot;); // &#60;--- вот тут строка может быть даже &#39;</div><div class="code_line">query.bindValue(&quot;:salary&quot;, 65000);</div><div class="code_line">query.exec();</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
В коде выше метод .bindValue как раз и занимается тем, что приводит передаваемые аргументы в надлежащий для выбранного типа БД вид.]]></description>
        <author>JoeUser</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833917</guid>
        <pubDate>Tue, 07 Jul 2020 12:11:57 +0000</pubDate>
        <title>MySQL vs VS2017</title>
        <link>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833917</link>
        <description><![CDATA[YuriyRusinov: Это означает, что строковые величины в запросе должны быть такими как &#39;Vasiliy Pupkin&#39;, т.е. в обязательном порядке заключены в апострофы.]]></description>
        <author>YuriyRusinov</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833913</guid>
        <pubDate>Tue, 07 Jul 2020 11:26:01 +0000</pubDate>
        <title>MySQL vs VS2017</title>
        <link>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833913</link>
        <description><![CDATA[_agapa_: Доброе время суток<br>
Спасибо за советы :thanks: <br>
[quote=JoeUser,1594068010,3833889]Что переменные, передаваемые в запрос - должны быть &quot;отквочены&quot;...<br>
Я так понимаю, преобразованы в строки? <br>
Во всех источниках, что я нашел, предлагался такой синтаксис команды... :unsure:]]></description>
        <author>_agapa_</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833889</guid>
        <pubDate>Mon, 06 Jul 2020 20:40:10 +0000</pubDate>
        <title>MySQL vs VS2017</title>
        <link>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833889</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=419122&view=findpost&p=3833831'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>_agapa_ &#064; <time class="tag-quote__quoted-time" datetime="2020-07-06T07:00:39+00:00">06.07.20, 07:00</time></span><div class='quote '>Помогите, пожалуйста, разобраться с проблемой записи в таблицу БД MySQL.</div></div><br>
Помогаю ... :) <br>
<br>
1) Установи менеджер БД - Navicat. Если стеснен материальными обстоятельствами - то <a class='tag-url' href='https://rutracker.org/forum/viewtopic.php?t=5911577' target='_blank'>парни помогут</a>, иначе <a class='tag-url' href='https://www.navicat.com/en/' target='_blank'>сам</a>.<br>
2) В менеджере Navicat сформируй нужный тебе Query и запусти на выполнение<br>
3) Если запрос вылетает с ошибкой - ищи, где ошибка синтаксиса (смотри по докам, и по версиям БД)<br>
4) Как только у тебя запрос в Navicat&#39;е заработал - начинай его переносить в код<br>
<br>
<strong class='tag-b'><span class="tag-color tag-color-named" data-value="red" style="color: red">Не забывай&#33;&#33;&#33;</span></strong><br>
<br>
Что переменные, передаваемые в запрос - должны быть &quot;отквочены&quot;, иначе это потенциальная точка SQL-инъекции.  Очень похоже (я не в курсе) этим занимается твоя функция &quot;mto_string&quot; из твоего кода (перепроверь&#33;) ... если &quot;да&quot;, то супер.<br>
<br>
5) Проверяй оформление передаваемых значений в запрос - цифры сами по себе, строки - в нужные кавычки (см.п.4)]]></description>
        <author>JoeUser</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833833</guid>
        <pubDate>Mon, 06 Jul 2020 07:19:14 +0000</pubDate>
        <title>MySQL vs VS2017</title>
        <link>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833833</link>
        <description><![CDATA[YuriyRusinov: 1. Надо вывести в отладчик полностью проблемную команду.<br>2. Из того сообщения, что есть, скорее всего имеет место несоответствие типов, когда в поле, имеющее численный тип, пытаться установить символьное значение.]]></description>
        <author>YuriyRusinov</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833831</guid>
        <pubDate>Mon, 06 Jul 2020 07:00:39 +0000</pubDate>
        <title>MySQL vs VS2017</title>
        <link>https://forum.sources.ru/index.php?showtopic=419122&amp;view=findpost&amp;p=3833831</link>
        <description><![CDATA[_agapa_: Доброе время суток.<br>
Помогите, пожалуйста, разобраться с проблемой записи в таблицу БД MySQL. Работаю на Windows 10 64bit с использованием VS2017. Установил MySQL server 5.6. Использую коннектор от установленного сервер.<br>
<br>
32бидное приложение сформировать не удалось: VS говорить, что не соответствует целевая платформа&#33; :blink:  :unsure: Подскажите, что я должен сделать, что бы формировать как 32бит, так и 64?<br>
<br>
Сформировал 64бит проект и пытаюсь записать данные в таблицу, но получаю ошибку:<br>
<br>
&quot;<br>
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#39;order,data,error,cn0Er,cn0D) VALUES (NULL,&#39;2&#39;,&#39;-0.00108263&#39;,&#39;7.48124e-12&#39;,&#39;0&#39;,&#39;0&#39; at line 1<br>
&quot;   <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">void CMyDB::_writetoCN0(int n,double data_,double err_,bool er_,bool D_)</div><div class="code_line">{ &nbsp; &nbsp; &nbsp; </div><div class="code_line">&nbsp;&nbsp; &nbsp;int query_state;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string oder = mto_string(n);</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string data = mto_string(data_);</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string err = mto_string(err_);</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string berr = mto_string((er_)?1:0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string bD = mto_string((D_)?1:0);</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string command = &quot;INSERT INTO earth_potential.cn0 (id,order,data,error,cn0Er,cn0D) VALUES (NULL,\</div><div class="code_line">&#39;&quot; + oder + &quot;&#39;,&#39;&quot; + data + &quot;&#39;,&#39;&quot; + err + &quot;&#39;,&#39;&quot; + berr + &quot;&#39;,&#39;&quot; + bD + &quot;&#39;)&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;query_state = mysql_query(mysqlDB,command.c_str());</div><div class="code_line">&nbsp;&nbsp; &nbsp;if (query_state != 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;printf_s(&quot;\n%s\n&quot;,mysql_error(mysqlDB));</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Таблица в БД:<br>
...<br>
Хотел вставить файл с изображением формата таблицы в БД, куда я пытаюсь поместить данные, но 237.6кб для меня непреодолимый барьер<br>
<br>
С уважением, Дмитрий]]></description>
        <author>_agapa_</author>
        <category>C/C++: Базы данных</category>
      </item>
	
      </channel>
      </rss>
	