2016-04-05 18 views
0

SQLite Veritabanında yeniyim, bu yüzden sorunun ne olduğunu anlayamıyorum, arabaların listesi ve dünyadaki mevcut oranları için bir veritabanı oluşturmaya hazırım.Veritabanımda eklemeden önce değer varlığını nasıl ekleyebilirim?

import sqlite3 
db = sqlite3.connect('Car.db') 
cur= db.cursor() 
var = (int)(input("How many cars you want to enter?")) 
for i in range(var): 
    Has = input('CAR :') 
    for name in Has: 
     cur.execute('SELECT count(*) FROM CARS WHERE Name = ?',(name,)) 
     base = cur.fetchone()[0] 
     if base ==0: 
      print('CAR EXISTS') 
     else: 
      some = input('RATE:') 
      cur.execute('''INSERT INTO CARS(Name,Rate)VALUES(?,?)''',{'Name':Has,'Rate':some}) 
db.close() 

Girdiğim araba benim veritabanına eklemeden önce zaten mevcut olup olmadığını kontrol etmek istiyorum ama bunu yaparken aşağıdaki çıktı üretmesi

CAR gösterir: Audi ARAÇ ARAÇ ARAÇ MEVCUT MEVCUT MEVCUT OTOMOBİL

Ben deyimi takılı ve bulunan CL'S yorumuna göre size

düzenlemek

ederiz MEVCUT Döngü bu ARAÇ gibi her karakterin iterated olduğunu: Audi A ARAÇ ZATEN u OTOMOBİL ZATEN ve böylece

taki çözüldü MEVCUT MEVCUT ama aynı hatayı alıyorum, İşte Ben nasıl çözüldü:

for name in Has,: 

Çalışma kodu:

import sqlite3 
db = sqlite3.connect('Cars.db') 
cur= db.cursor() 
var = (int)(input("How many cars you want to enter?")) 
for i in range(var): 
    Has = input('CAR :') 
    for name in Has,: 
     cur.execute('SELECT count(*) FROM CARS WHERE Name = ?',(name,)) 
     base = cur.fetchone()[0] 
     if base>0: 
      print('CAR EXISTS') 
     else: 
      some = input('RATE:') 
      var = '''INSERT INTO CARS(Name,Rate)VALUES(?,?)''' 
      cur.execute(var,(name,some)) 
db.commit() 
db.close() 
[Bu kodu sağlanan neden benim kod böylece çeşitli hatalar içerdiği cevap ilaveten]
+0

"name" değerini yazdırın. –

+0

@CL. Bunu açıklar mısınız lütfen? ad sadece yineleme için kullanılan bir değişkendir. – user105127

+0

'print (name)' ifadesini ekleyin. –

cevap

0
if base ==0: 
     print('CAR EXISTS') 

Satır sayısı sıfır olduğunda, "EXISTS" yazıyorsunuz. Bu yanlış; Bir araba olduğunda, eşleşen satırların sayısı sıfırdan büyük olacaktır.

+0

Sonunda düşündüm, Eğer baz> 0 değiştirerek çalışmayı başardı. teşekkür ederim – user105127

İlgili konular