擅长:python、mysql、java
<p>您的execute语句似乎是正确的</p>
<p>假设您的表实际上有一个名为rowid的列,而不是<a href="https://www.sqlite.org/rowidtable.html" rel="nofollow noreferrer">SQLite documentation</a>中定义的隐式列</p>
<p>检查您的数据库是否确实有<code>rowid = 25</code>的条目</p>
<pre><code>SELECT * FROM aqn_data ORDER BY rowid ASC;
</code></pre>
<p>这将提供该表中的所有条目。一般来说<code>ORDER BY</code>在这种情况下应该是可选的,但是我没有关于如何创建表模式的信息,所以我提到了它</p>
<p>如果它确实有您想要的数据,那么下面的行就足够了:</p>
<pre><code>SELECT * FROM aqn_data WHERE rowid = 25;
</code></pre>
<p>还值得将<code>Cursor.execute()</code>语句重新格式化为:</p>
<pre><code>c.execute("SELECT rowid, * FROM aqn_data WHERE rowid = ?", (25))
</code></pre>
<p>在这种特定情况下,这没有什么区别,但再次强调,最好将这种做法深入到代码中,以避免在实际依赖变量数据的代码中出现SQL注入问题。不要对sqlite3对象使用python字符串格式</p>