Fixed "delete record" procedure. Added "Edit records" function
This commit is contained in:
13
dm.py
13
dm.py
@@ -204,13 +204,15 @@ def selectData(tbl):
|
||||
else:
|
||||
subqwery = table1
|
||||
# составляем подзапрос и подменяем им поле в запросе
|
||||
print(subqwery)
|
||||
|
||||
if db_type == "mysql":
|
||||
field_replace = field_replace.replace(",", ",' ',")
|
||||
#subqwery = "(SELECT CONCAT(" + field_replace + ") FROM " + subqwery + " WHERE " + table1 + "." + field1 + "=" + tbl + "." + field + ") AS " + field
|
||||
# subqwery = "(SELECT CONCAT({}) FROM {} WHERE {}.{}={}.{}) AS {}"\
|
||||
# .format(field_replace,subqwery,table1,field1,tbl,field,field)
|
||||
subqwery = "(SELECT CONCAT('>', {}, '<', {}) FROM {} WHERE {}.{}={}.{}) AS {}"\
|
||||
.format(field,field_replace,subqwery,table1,field1,tbl,field,field)
|
||||
subqwery = "(SELECT CONCAT('>', {}.{}, '<', {}) FROM {} WHERE {}.{}={}.{}) AS {}"\
|
||||
.format(tbl,field,field_replace,subqwery,table1,field1,tbl,field,field)
|
||||
elif db_type == "sqlite":
|
||||
field_replace = field_replace.replace(",", " || ' ' ||")
|
||||
#subqwery = "(SELECT (" + field_replace + ") FROM " + subqwery +" WHERE "+ table1 + "." + field1 +"="+ tbl +"."+ field +") AS " + field
|
||||
@@ -399,6 +401,7 @@ def selectDataFromDB(tblName, fieldName, fieldValue):
|
||||
#qwery = qwery.rstrip(',') + " FROM " + tblName + " WHERE " + fieldName + '=' + fieldValue
|
||||
qwery = '{} FROM {} WHERE {}={}'.format(qwery.rstrip(','), tblName, fieldName, fieldValue)
|
||||
|
||||
|
||||
print(qwery)
|
||||
c.execute(qwery)
|
||||
return c.fetchall()
|
||||
@@ -435,11 +438,11 @@ def getTablesDescriptionOfName(tblName):
|
||||
def deleteRecordsFromDB(tableName, valueList):
|
||||
global c, db_type, conn
|
||||
qwery = 'DELETE FROM {} WHERE '.format(tableName)
|
||||
#print(qwery)
|
||||
#print(valueList)
|
||||
subQwery=''
|
||||
i = 0
|
||||
for item in getFields(tableName):
|
||||
print(item[0], item[1])
|
||||
#print(item[0], item[1])
|
||||
if item[1] == 'integer':
|
||||
#subQwery = subQwery + item[0] + '=' + valueList[i] + ' AND '
|
||||
subQwery = '{}{}={} AND '.format(subQwery, item[0], valueList[i])
|
||||
@@ -449,6 +452,8 @@ def deleteRecordsFromDB(tableName, valueList):
|
||||
i += 1
|
||||
qwery += subQwery
|
||||
qwery = qwery.rstrip('AND ').replace("='None'", " IS NULL")
|
||||
qwery = qwery.rstrip('AND ').replace("=None", " IS NULL")
|
||||
qwery = qwery.rstrip('AND ').replace("=NULL", " IS NULL")
|
||||
print(qwery)
|
||||
c.execute(qwery)
|
||||
conn.commit()
|
||||
|
Reference in New Issue
Block a user