首先,我真的不知道以前是否已经回答过这个问题。
我四处张望,但仍然找不到一个例子。
我是SQLite3的新手,显然我会遇到这类问题。
基本上,我正在做的是创建一个另存为“ Data.dll”的SQLite3数据库。
然后我创建了一个表并在其中插入了一些数据。
现在,基本上我想做的就是问用户一个问题,用户必须输入数字和“键”。
输入后,我要检查它是否有效。
例如,
数据#1:
NUMBERID:30138
KEY:KeyUser1
数据#2:
NUMBERID:1144
KEY:key2
如果同时输入了两者(如30138和KeyUser1。与30138和key2不同),则它们可以继续输入,否则,将表明NUMBER ID和“ KEY”不匹配。
那我该怎么办?
我是SQLite3的新手,所以我仍然是新手...
感谢您的帮助。
我的代码:
import sqlite3
dbase = sqlite3.connect("Data.dll")
print "DataBase Opened : Success."
dbase.execute(""" CREATE TABLE IF NOT EXISTS Keys(
NUMBERID INT PRIMARY KEY NOT NULL,
VAILD TEXT NOT NULL)""")
print "DataBase Table : Success"
def insert_record(NUMBERID,VAILD):
dbase.execute(""" INSERT INTO Keys (NUMBERID,VAILD)
VALUES(?,?)""", (NUMBERID,VAILD))
dbase.commit()
#insert_record(1144, 'key2') # If needed to insert soemthing...
print "DataBase Insert : Success."
def read_Data():
data = dbase.execute(""" SELECT NUMBERID,VAILD FROM Keys """)
for record in data:
NUMBER_ID = str(record[0])
VAILD_KEY = str (record [1])
print NUMBER_ID # Check
print VAILD_KEY # Check
read_Data()
NUMBER_ENTER = input ("Enter NUMBER ID : ")
VAILD_ENTER = raw_input ("Enter KEY : ")
if NUMBER_ENTER in NUMBER_ID:
print "1" # If its at least correct print this
...
else:
print "2" # wrong
...
if VAILD_ENTER in VAILD_KEY:
print "a" # if its at least correct , print this.
...
else:
print "z" # wrong
...
dbase.close()
print "DataBase Closed : Success."
答案 0 :(得分:0)
您可以尝试以下方法:
def check(number, key):
data = dbase.execute("select 1 from keys where NUMBERID = ? AND VAILD = ?", (number, key)).fetchone()
return data
NUMBER_ENTER = input("Enter NUMBER ID : ")
VAILD_ENTER = raw_input("Enter KEY : ")
if check(NUMBER_ENTER, VAILD_ENTER):
print 1
else:
print 2
检查是否存在带有NUMBERID VAILD的行