質問: cursor.fetchone() cnxn.close()#while文の終了場所。 print('connection closed')#終了時のコメント ``` かなり初歩的な質問ですがよろしく御願いいたします。
回答: そもそも一般的なデータベース接続やクエリ、カーソルの扱いに対して知識が無いといろいろ言われてもわからないと思います。ここの回答に概念まで説明するのは難しいので、概念を理解するのはご自身で調べてください。 `cnxn` は `connection` の省略形ですね。略語の使い方もちょっと微妙だと思うのですが...。 `pymssql.connect` ではコネクションオブジェクトを生成しています。 DBへの接続を表現しています。接続できなければクエリを実行することが出来ません。 `cursor` はカーソルです。クエリを実行した結果は複数のレコードとして返ってきますので、それを一行ずつ処理するにあたって「今どの行を処理しているのか」を示すカーソルが必要になります。 宣言した時点ではクエリを実行していないのでカーソルは行を指すものではありませんが、 `cursor.execute` を実行することで返ってきた結果に対して、最初のレコードを指しています。 `fetchone` は fetch one (一つ取得する)です。一つ取得して次の行にカーソルを進めます。 `while` で繰り返すことで、行が取得できなくなるまで繰り返すということですね。