2011-07-29 7 views
2

pythonのsqlite3のドキュメントは、SQLクエリにパラメータを挿入するためのこの例を示しています。どのようにsqlite3のバイナリファイルをPythonでエスケープしますか?

for t in [('2006-03-28', 'BUY', 'IBM', 1000, 45.00), 
      ('2006-04-05', 'BUY', 'MSOFT', 1000, 72.00), 
      ('2006-04-06', 'SELL', 'IBM', 500, 53.00), 
     ]: 
    c.execute('insert into stocks values (?,?,?,?,?)', t) 

テキストと数字には問題ありません。フィールドの1つがバイナリBLOB(JPEGイメージなど)の場合はどうなりますか?バイナリファイルはどのように挿入されますか?

+0

あなたは、「バイナリファイル」の意味をどう思いますか?そして、どのテーブル定義がありますか? –

+1

Python2.xの文字列とバイトは同じものです... – JBernardo

答えて

2

挿入したバイナリデータを、あなたは、フィールドの他のタイプのためにするのと同じように:

contents = open(image_path, "rb").read() 
c.execute('insert into images values (?, ?)', (image_path, contents)) 
関連する問題