2016-04-07 2 views
0

これで、入力ボックスを作成したこの本当に便利なコードが見つかりました。作成されたときに、その内部にあるものを編集することができました。ロードされたデータはSQLテーブルから取得されました。入力ボックスを編集した後は、編集中のSQLレコードにあったデータを上書きするために、データをサブミットする必要があります。私が見つけたコードは次のとおりです:EntryウィジェットからSQLコードへのデータのエクスポート

for item in selectedetails: 
     entry = Entry(top2) 
     entry.insert(0, item) 
     entry.pack() 
     entries.append(entry) 

私はそれがSQLコードを入力できるようにします。私はこれを試しましたが、うまくいきません。私はそれが間違っていると思う。

def submitedit(): 
    for entry in entries: 
     print(entry.get()) 



    db = sqlite3.connect('TestFile') 
    cursor = db.cursor() 

    cursor.execute('''UPDATE Table SET ID=?, Name=?, Desc=? WHERE ID=?''', 
    ("?"," ?"," ?").format(entry.get())) 
    cursor.close() 
    db.commit() 
    db.close() 

また、私はこれを試してみました:

db = sqlite3.connect('TestFile') 
    cursor = db.cursor() 

    cursor.execute('''UPDATE Table SET ID=?, Name=?, Desc=? WHERE ID=?''', 
    (entry.get()) 
    cursor.close() 
    db.commit() 
    db.close() 

感謝を。

答えて

0
with sqlite3.connect('TestFile') as db: 
    cursor = db.cursor() 
    cursor.row_factory = sqlite3.Row 
    sql = "UPDATE Table Name=?, Desc=? WHERE ID=?" 
    cursor.execute(sql,(Name,Descr)) 
    db.commit() 

あなたはcursor.execute行に値を入れている順序がそうでなければ、間違った値が間違っている時に使用される、SQL変数で使用されるために一致しなければならないことに注意してください。また、私はあなたの主キーは、あなたが主キーを編集すべきではないデータベースで推測されているものであるためにセットIDを取り出した。プライマリキーも自動的にインクリメントされる必要があります。

関連する問題