Latest posts on Обращение к данным, расположенным в столбце базы данных topichttp://python.su/forum/topic/39382/2020-09-10T17:54:00+03:00Общий :: Центр помощи :: Обращение к данным, расположенным в столбце базы данных
2020-09-10T17:54:00+03:00Rafik212096А так не пробовал:<div class="code"><pre> <span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="s1">'Select * FROM [dbo].[students] WHERE comment = </span><span class="si">%s</span><span class="s1">'</span><span class="p">,(</span><span class="n">filename</span><span class="p">,))</span>
</pre></div>
Общий :: Центр помощи :: Обращение к данным, расположенным в столбце базы данных
2020-09-02T20:04:22+03:00Quippy211920В Microsoft SQL server создана база данных, в ней создана таблицы Students. В ней следующие столбцы: Name, Surname, mark, comment.<br/>Мне нужно вывести в текстовый файл фамилии и имена тех учеников, которым оставлен комментарий “Very good”. Название файла задаётся с клавиатуры. Оно совпадает с оставленным комментарием. То есть, в моем случае, с клавиатуры будет введена фраза Very good.<br/>Пример таблицы во вложении.<br/>Я пробовал сделать вот таким образом:<br/><div class="code"><pre> <span class="kn">import</span> <span class="nn">pymssql</span>
<span class="kn">from</span> <span class="nn">sys</span> <span class="kn">import</span> <span class="n">argv</span>
<span class="kn">import</span> <span class="nn">os</span>
<span class="n">Server</span><span class="o">=...</span>
<span class="n">User</span><span class="o">=..</span>
<span class="n">Password</span> <span class="o">=....</span>
<span class="n">Database</span> <span class="o">=...</span>
<span class="n">filename</span> <span class="o">=</span> <span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
<span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="o">...</span><span class="p">)</span>
<span class="n">lastfilename</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">+</span><span class="s1">'.txt'</span>
<span class="n">my_file</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">lastfilename</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span>
<span class="n">conn</span> <span class="o">=...</span>
<span class="n">cur</span><span class="o">=</span><span class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span class="p">()</span>
<span class="n">cur</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="s1">'Select * FROM [dbo].[students] WHERE comment = '</span><span class="o">+</span><span class="n">filename</span><span class="p">)</span>
</pre></div><br/>В результате получаю ошибку “invalid column name ‘Very good’ ”, хотя несколько строк, в которых сделана такая запись имеются.<br/>Подскажите пожалуйста, как исправить проблему.