0

我尝试输入,但显示错误。

引发错误。ProgrammingError(

ProgrammingError: 并非所有参数都在 SQL 语句中使用

我尝试过的一部分代码,

`#D_O_B

import datetime
 year = int(input('Enter birth year'))
 month = int(input('Enter birth month'))
 day = int(input('Enter birth day'))
 D_O_B = datetime.date(year, month, day)
 
 #Age
 A=int(input("Enter age"))
sql = """INSERT INTO PLAYER_DETAILS(
   Name,DATE_OF_BIRTH ,Age ,Federation ,Elo_RATING ,Title)
   VALUES ( %s,%d ,(%d %b %y), %s,%d , %s)"""

 val = (N,D_O_B,A,Fed,RATING,T)
 cursor.execute(sql, val)

 db.commit()
4

1 回答 1

0
pip install pyodbc

pyodbc 是 python 的开源 odbc 驱动程序将允许您连接 sql,连接

import pyodbc    
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;DATABASE=testdb;UID=me;PWD=pass')

然后创建光标

cursor = cnxn.cursor()

然后像在 sql 查询中一样创建查询,在任何你想使用用户输入的地方,将其替换为? 将执行的第二个参数添加为数组,并在数组中放入相应的值

cursor.execute("""
    select user_id, user_name
      from users
     where last_logon < ?
       and bill_overdue = ?
""", [datetime.date(2001, 1, 1), 'y'])

如果你不想使用数组作为第二个参数,你可以传递多个参数,但它也应该是各自的

cursor.execute("insert into products(id, name) values (?, ?)", 'pyodbc', 'awesome library')

并在插入更新或删除后提交

cnxn.commit()

您在官方文档入门中找到了更多信息

于 2021-01-09T19:13:56.977 回答