Sandesh34
Sandesh34

Reputation: 280

near "in": syntax error

I am trying to run this code but I get the following error... Actually, I am trying Face Recognition using OpenCV..

import sqlite3
import cv2
import numpy as np
import urllib.request as ur
faceDetect=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

def insert(ID,Name):
    conn=sqlite3.connect("FaceBase.db")
    cmd="SELECT * FROM People Where id=?"+str(id)
    cursor=conn.execute(cmd)
    doesRecordExist=0
    for row in cursor:
        doesRecordExist=1
    if(doesRecordExist==1):
        cmd="UPDATE People SET Name="+str(Name)+"WHERE Id="+str(ID)
    else:
        cmd="INSERT INTO People(ID,Name) Values("+str(ID)+","+str(Name)+")"
    conn.execute(cmd)
    conn.commit()
    conn.close()

But I got this Error:

  File "C:/Users/Sandesh R Patil/Desktop/Project/Face Recog 
sqlite/datasetCreator.py", line 10, in insert
    cursor=conn.execute(cmd)

OperationalError: near "in": syntax error

Upvotes: 0

Views: 737

Answers (1)

Omi Harjani
Omi Harjani

Reputation: 840

Your ID on Line 9 is incorrect try this:

import sqlite3
import cv2
import numpy as np
import urllib.request as ur
faceDetect=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

def insert(ID,Name):
    conn=sqlite3.connect("FaceBase.db")
    cmd="SELECT * FROM People WHERE id=?"+str(ID)
    cursor=conn.execute(cmd)
    doesRecordExist=0
    for row in cursor:
        doesRecordExist=1
    if(doesRecordExist==1):
        cmd="UPDATE People SET Name="+str(Name)+" WHERE Id="+str(ID)
    else:
        cmd="INSERT INTO People(ID,Name) Values("+str(ID)+","+str(Name)+")"
    conn.execute(cmd)
    conn.commit()
    conn.close()

Upvotes: 1

Related Questions