import sqlite3 import os db_file="d:\\python\\stuInfo.sqlite" if os.path.exists(db_file): os.remove(db_dile) os.makedirs(os.path.dirname(db_file),exist_ok=True) conn=sqlite3.connect('stuInfo.sqlite') cur=conn.cursor() sqlstr='''CREATE TABLE stuTAB( stoNo TEXT NO NULL stoName TEXT NO NULL stoScore TEXT NO NULL stoMajor TEXT NO NULL)''' cur.execute(sqlstr) conn.commite() print("1") while True: stoNo=input("输入学号") if stoNo==-1: break stuName=input("输入姓名") stoScore=input("成绩") stoMajor=input("专业") sqlstr='''INSERT INTO stuTAB(stoNo,stuName,stoScore,stoMajor)VALUES(stoNo,stuName,stoScore,stoMajor)''' cur.execute(sqlstr) conn.commit() print("成功")
时间: 2024-02-25 16:57:19 浏览: 123
在您的代码中,有几个拼写错误和语法错误:
1. `import sqlite3 import os` 应该写为 `import sqlite3, os`,这样才能正确导入多个模块。
2. `if os.path.exists(db_file): os.remove(db_dile)`,应该将 `db_dile` 改为 `db_file`,否则会报错。
3. `sqlstr='''CREATE TABLE stuTAB( stoNo TEXT NO NULL stoName TEXT NO NULL stoScore TEXT NO NULL stoMajor TEXT NO NULL)'''` 这一行的语法错误是在 `TEXT NO NULL` 中间应该加上逗号分隔开,应该写为 `stoNo TEXT NOT NULL, stoName TEXT NOT NULL, stoScore TEXT NOT NULL, stoMajor TEXT NOT NULL)`。
4. `conn.commite()` 应该改为 `conn.commit()`。
5. `while True: stoNo=input("输入学号") if stoNo==-1: break` 这一部分应该将 `-1` 改为字符串 `"-1"`,否则会导致输入学号时无法正常退出循环。
6. `sqlstr='''INSERT INTO stuTAB(stoNo,stuName,stoScore,stoMajor)VALUES(stoNo,stuName,stoScore,stoMajor)'''` 中的 `stuName` 应该改为 `stoName`,否则会报错。
下面是修改后的代码:
```
import sqlite3, os
db_file = "d:\\python\\stuInfo.sqlite"
if os.path.exists(db_file):
os.remove(db_file)
os.makedirs(os.path.dirname(db_file), exist_ok=True)
conn = sqlite3.connect(db_file)
cur = conn.cursor()
sqlstr = '''CREATE TABLE stuTAB(
stoNo TEXT NOT NULL,
stoName TEXT NOT NULL,
stoScore TEXT NOT NULL,
stoMajor TEXT NOT NULL)'''
cur.execute(sqlstr)
conn.commit()
print("1")
while True:
stoNo = input("输入学号")
if stoNo == "-1":
break
stoName = input("输入姓名")
stoScore = input("成绩")
stoMajor = input("专业")
sqlstr = '''INSERT INTO stuTAB(stoNo, stoName, stoScore, stoMajor)
VALUES (?, ?, ?, ?)'''
cur.execute(sqlstr, (stoNo, stoName, stoScore, stoMajor))
conn.commit()
print("成功")
conn.close()
```
阅读全文