我正在创建一个程序,允许用户从菜单中选择2个化学元素,然后告诉他们这两者之间的反应结果。我知道我的数据库正在运行,我正在尝试创建两个可以在程序中的任何位置更改的变量。这是我到目前为止的代码,使用2个值,我知道正确的结果:
import sqlite3
conn = sqlite3.connect('Experiment_simulator_database.db')
c = conn.cursor()
firstchoice = 1
secondchoice = 36
sqlcommand = "SELECT Outcome_ID FROM Reactions WHERE Choice_1 = firstchoice AND Choice_2 = secondchoice"
c.execute(sqlcommand)
result = c.fetchone()
print(result)
如何在select语句中获取firstchoice和secondchoice以获取上面指定的值?
答案 0 :(得分:0)
您可以在sql中使用占位符,并在调用execute
时绑定值 sqlcommand = "SELECT Outcome_ID FROM Reactions WHERE Choice_1 = ? AND Choice_2 = ?"
c.execute(sqlcommand, (firstchoice, secondchoice,))
答案 1 :(得分:0)
您可以在您正在使用的参数中传递这些变量。
firstchoice = 1
secondchoice = 36
sqlcommand = "SELECT Outcome_ID FROM Reactions WHERE Choice_1 = " + firstchoice + "AND Choice_2 = " + secondchoice "
c.execute(sqlcommand, firstchoice, secondchoice)