Dec-16-2022, 02:33 AM
Hello,
I have this chunk of code from my PyQt GUI that gets a result from a SQLite table and uses that result to do a math calculation.
Snippet:
Thanks in advance.
Full function (If it helps):
I have this chunk of code from my PyQt GUI that gets a result from a SQLite table and uses that result to do a math calculation.
Snippet:
else: #Connect to the inventory database (inventory.db) connection = sqlite3.connect(InventoryDatabase) cursor = connection.cursor() cursor.execute("SELECT Sell_Price_$ FROM items WHERE Name = ?",(SelectedItemName,)) connection.commit() SellPrice = cursor.fetchone() # #Update the quantity # cursor.execute("UPDATE items SET Quantity = Quantity - ? WHERE Name = ?",(SelectedItemQuantity, SelectedItemName,)) # connection.commit() #Close the connection connection.close() print('Selcted Item Quantity: ', SelectedItemQuantity) x = float(SelectedItemQuantity) print('Float Value = ', x) y = SellPrice[0] print("y = ",y) z = float(y) print('x*z= ', x*z) MaterialUsedPrice2 = x*z #Calculate the Price of Material Used #MaterialUsedPrice = SelectedItemQuantity * SellPrice print('The Total Price for the', '(',x,')', SelectedItemName, ' Used is: $', MaterialUsedPrice2)Output:
Output:2 , 1/2" PVC Coupling
('PVC',)
Selcted Item Quantity: 2
Float Value = 2.0
y = 1.5
x*z= 3.0
The Total Price for the ( 2.0 ) 1/2" PVC Coupling Used is: $ 3.0
#I don't know why this gets printed (again...Since it's already been printed above (Selcted Item Quantity: 2
Float Value = 2.0) and I don't know why the values are 0)
0 , -
None
Selcted Item Quantity: 0
Float Value = 0.0
y = SellPrice[0]
TypeError: 'NoneType' object is not subscriptable
I get this error and I don't know why (When I do print("y = ",y) I get 1.5, which is the correct value, so why am I getting this error?)Error:y = SellPrice[0]
TypeError: 'NoneType' object is not subscriptable
Why do I get this error and how do I fix it?Thanks in advance.
Full function (If it helps):
def SubmitClicked(self): #Get User Inputted Quantity & Material #Probably going to have to do it the long way: Do all 22 comboBoxes individually. for widget in self.MaterialUsedFrame.children(): if isinstance(widget, QSpinBox): SelectedItemQuantity = widget.text() if isinstance(widget,QComboBox): SelectedItemName = widget.currentText() print(SelectedItemQuantity, ',' ,SelectedItemName) #Connect to the inventory database (inventory.db) connection = sqlite3.connect(InventoryDatabase) cursor = connection.cursor() cursor.execute("SELECT Main_Category FROM items WHERE Name = ?",(SelectedItemName,)) connection.commit() Result = cursor.fetchone() #Close the connection connection.close() print(Result) if Result == ('Wire',): #Connect to the inventory database (inventory.db) connection = sqlite3.connect(InventoryDatabase) cursor = connection.cursor() cursor.execute("SELECT Price_Per_Ft FROM items WHERE Name = ?",(SelectedItemName,)) connection.commit() PricePerFt = cursor.fetchone() #Close the connection connection.close() print(PricePerFt) #Might be better off making all those SpinBoxes Labels #& Just setting the text to the price for widget in self.MaterialPriceFrame.children(): if isinstance(widget, QDoubleSpinBox): widget.setValue(80.80) else: #Connect to the inventory database (inventory.db) connection = sqlite3.connect(InventoryDatabase) cursor = connection.cursor() cursor.execute("SELECT Sell_Price_$ FROM items WHERE Name = ?",(SelectedItemName,)) connection.commit() SellPrice = cursor.fetchone() # #Update the quantity # cursor.execute("UPDATE items SET Quantity = Quantity - ? WHERE Name = ?",(SelectedItemQuantity, SelectedItemName,)) # connection.commit() #Close the connection connection.close() print('Selcted Item Quantity: ', SelectedItemQuantity) x = float(SelectedItemQuantity) print('Float Value = ', x) y = SellPrice[0] print("y = ",y) z = float(y) print('x*z= ', x*z) MaterialUsedPrice2 = x*z #Calculate the Price of Material Used #MaterialUsedPrice = SelectedItemQuantity * SellPrice print('The Total Price for the', '(',x,')', SelectedItemName, ' Used is: $', MaterialUsedPrice2) #----------------------------------------------------------------------------------------------------