眠たいので、起きている現象だけ書いておく。
pythonでデータを保存しようとして、SQLiteを使うことにした。
ファイルがないときは、connect()してcursor()で取得したら、CREATE TABLEして、INSERT INTOさせるようにした。
そして、そのあと確認のため、select文を実行させるようにした。
ネットで調べると、cursorに対してSELECTのexecute()したあと、fetchall()で件数分の処理しているようだった。
が、まねしても件数が0になっている。。
なぜだ・・・。
sql = 'SELECT * FROM clients'
ret = cur_all.execute(sql)
print 'len all=', len(cur_all.fetchall())
lists = cur_all.fetchall()
print 'lists all=', len(lists)
これで試したのだが、'len all='のところは数字が出てきて、'lists all='のところは0のままだった。
順番を入れ替えてわかったが「fetchall」だから、データを吸い取ってしまうようだ。
だから、fetchall()した後で見に行くと、0になっているのだ。
そうか、そうなのか。。。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。