Мне нужно вставить данные в таблицу клиентов.
cur.execute('''
CREATE TABLE customer (customerId varchar(20),customerName
varchar(20),telephoneNo int,
addressId int, customerType varchar(20),
discount int, memCardType varchar(20))''')
class customer:
def __init__(self,customername,telephonenumber,addressid):
self.customername=customername
self.telephonenumber=telephonenumber
self.addressid=addressid
id=4
t='a'
cur.execute("INSERT INTO customer VALUES (:1,:2,:3,:4,:5,:6,:7)",
(id,customername,telephonenumber,addressid,t,id,t))
cur.execute("SELECT * FROM customer")
print(cur.fetchall())`
if(ch==1):
nm = input("name:")
tel = input("number:")
add = input("address")
customer(nm,tel,add)
Ошибка: здесь выбор сохраняется в переменной ch, а если ch равен 1, данные запрашиваются пользователем, а данные сохраняются в таблице.
Traceback (most recent call last):
customer(nm,tel,add)
line 23, in __init__
cur.execute("INSERT INTO customer VALUES (:1,:2,:3,:4,:5,:6,:7)",(id,customername,telephonenumber,addressid,t,id,t))
cx_Oracle.DatabaseError: ORA-01722: invalid number