2012-02-08 16 views
0

ここで、テーブルtransform1が作成されていますが、会社の値はtransform1の名前にコピーされていません。 。 。名前はテーブルに更新されていませんか?

for bad_char in special_chars: 
      company = company.replace(bad_char, '') 
      cur.execute('Create table transform1 (Names Varchar, Transformtype Varchar') 
      cur.execute('Insert into transform1 (Names)', company)  

プログラムとは何か関係がありますか?それは私にエラーがないことを示します

+0

は私達にあなたの*実際の*コードだけでなく、あなたが取得しているすべての例外を表示します。 – NPE

答えて

0

コミットする必要があります:conn.commit()またはあなたの接続オブジェクトが呼び出されます。

また、あなたの身元を壊す必要があります。そのコードでは、リストにあるすべてのbad_charのテーブルに会社が挿入されます。それはあなたがしたいことではありませんか?

とSQLステートメントでは、AIXとして正しいare'ntは言った... insert文は次のようになります。cur.execute('Insert into transform1 (Names) values (?)', [company]) 私はこのコードをテストdid'ntので、私は私が何かを逃したdid'nt願っています。ここで

は、私はあなたがやってみたかったと仮定何の作業サンプルです:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import sqlite3 

conn = sqlite3.connect('/tmp/example') 
cur = conn.cursor() 

companies = ['Theninthö ä ABå', 'Some åther company'] 

# Create table 
cur.execute('Create table transform1 (Names varchar(255), Transformtype varchar(255))') 

for company in companies: 
    # Fix bad characters 
    special_chars = ['å', 'ä', 'ö'] 
    for bad_char in special_chars: 
     company = company.replace(bad_char, '') 

    # Add company 
    cur.execute('Insert into transform1 (Names) values (?)', [company]) 
    conn.commit() 

# Show data 
cur.execute('Select * from transform1') 
data = cur.fetchall() 

print data 
+0

正直言って、このようなSQL構文では、コミットは彼の心配の中で最も少ないと思います。 – NPE

+0

うん。あなたが正しい。コードをチェックするときに速すぎました... –

+0

または、ウィンドウを使用する場合は、あなたのdbファイルを別の場所に置く必要があります。 –

関連する問題