2014-09-05 3 views
1

Привет Я новичок в Python и идти через некоторые учебники, мой код не дает каких-либо ошибок, но это не удается, полный перечень проблем находятся в нижнейSQLite вставки в терпит неудачу

вот мой первый .py файл, который rehber.py

import crehber 

print("ASIM's Contact List") 

print("To create a Table press 1") 
print("To write into database press 2") 

choice = int(input("Your Choice: ")) 

def checkInput(choice): 

    if choice == 1: 
     print("Your Choice is ", choice) 
     crehber.tablecreate() 
     return True 
    elif choice == 2: 
     print("Your Choice is ", choice) 
     name = str(input("Enter name: ")) 
     surname = str(input("Enter surname: ")) 
     number = int(input("Enter number: ")) 
     crehber.tableInsert(name,surname,number) 
     return True 
    else: 
     print("Invalid choice, please re-enter") 

while checkInput(choice) != True: 
    choice = int(input("Your Choice: ")) 

и вот другой .py файл, который crehber.py

import sqlite3 as db 

def tablecreate(): 
    conn = db.connect('rehber.db') 
    cursor = conn.cursor() 
    cursor.execute('create table bilgiler(name text,sname text, num text)') 
    print("Table is created") 

def tableInsert(name,surname,number): 
    conn = db.connect('rehber.db') 
    cursor = conn.cursor() 
    cursor.execute('insert into bilgiler(name,sname,num) values(?,?,?)', (name,surname,number)) 
    print("Insert is Successful") 
    conn.close() 

Дополнительная информация:

1) SQLite находится в C: \ SQLite 2) Я создал каталог C: \ pythonb играть, это где мои .py файлы

Проблемы Список & Вопросы:

1 - Когда в каталоге sqlite и я печатаю в sqlite3 rehber.db, файл создается там. тогда, когда я запускаю программу и вызовите

tableCreate() function 

rehber.db появляется в каталоге pythonb, это нормально?

2- Когда я делаю некоторые записи и получить «Вставить успешно» сообщение Я хожу в SQLite каталога и введите в sqlite3 rehber.db затем выберите * из bilgiler; , но ничего не появляется. Как вы думаете, что не так?

3- Я иногда пропускаю точку с запятой; после команды select, и я застрял в оболочке sqlite, как я могу выйти без закрытия commandprompt?

Спасибо за щадя свое время в чтении, любая помощь приветствуется

ответ

1

1- Когда в SQLite каталоге и набираю в sqlite3 rehber.db, файл создается там. то когда я запускаю программу и вызываю функцию tableCreate(), функция rehber.db появляется в каталоге pythonb, это нормально?

Я не знаю о «нормальном», но когда вы просто указываете файл без какого-либо имени пути - в любой программе вообще - вы получаете файл в текущем рабочем каталоге. Итак, если вы откроете приглашение DOS, cd c:\sqlite, а затем запустите sqlite3 rehber.db, который создаст файл c:\sqlite\rehber.db, потому что c:\sqlite - это ваш текущий рабочий каталог. И если вы откроете приглашение DOS, cd c:\pythonb и rehber.py, это создаст файл c:\pythonb\rehber.db, так как c:\pythonb - это ваш текущий рабочий каталог.

2 Когда я делаю некоторые записи и получаю сообщение «Вставить успешно», я перехожу в каталог sqlite и введите sqlite3 rehber.db, затем выберите * from bilgiler; но ничего не появляется. Как вы думаете, что не так?

Ну, одна программа (ваш скрипт) работает на одном файле, другая (sqlite3) работает с совершенно другим файлом. Ничего не появляется по той же причине, что, когда вы заполняете бензобак вашего автомобиля, в бензобаке моей машины ничего не появляется.

3- Иногда я пропущу точку с запятой; после команды select, и я застрял в оболочке sqlite, как я могу выйти без закрытия commandprompt?

Вы можете просто ввести точку с запятой в строке приглашения продолжения (...>), чтобы завершить последнюю команду.

+0

Я не получаю никакого вывода, когда я запускаю rehber.db в pythonb ни .... Я должен скопировать rehber.db из каталога sqlite в каталог pythonb, а затем запустить программу? – Licentia

Смежные вопросы