Delete records procedure fixing

This commit is contained in:
svk28
2017-04-14 16:25:31 +03:00
parent 1fa7c96d1b
commit 59b55c1e0f
2 changed files with 66 additions and 20 deletions

20
dm.py
View File

@@ -207,8 +207,10 @@ def selectData(tbl):
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_replace,subqwery,table1,field1,tbl,field,field)
subqwery = "(SELECT CONCAT('>', {}, '<', {}) FROM {} WHERE {}.{}={}.{}) AS {}"\
.format(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
@@ -217,7 +219,7 @@ def selectData(tbl):
qwery = qwery.replace(field, subqwery)
#qwery = qwery.rstrip(',') + " FROM " + tbl + " LIMIT 10000"
qwery = '{} FROM {} LIMIT 10000'.format(qwery.rstrip(','), tbl)
#print(qwery)
print(qwery)
c.execute(qwery)
return c.fetchall()
@@ -397,7 +399,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)
print(qwery)
c.execute(qwery)
return c.fetchall()
@@ -431,22 +433,26 @@ def getTablesDescriptionOfName(tblName):
# Удаление записи из БД
def deleteRecordsFromDB(tableName, valueList):
global c, db_type
global c, db_type, conn
qwery = 'DELETE FROM {} WHERE '.format(tableName)
print(qwery)
#print(qwery)
subQwery=''
i = 0
for item in getFields(tableName):
print(item[0], item[1])
if item[1] == 'integer':
#subQwery = subQwery + item[0] + '=' + valueList[i] + ' AND '
subQwery = '{}{}={} AND'.format(subQwery, item[0], valueList[i])
subQwery = '{}{}={} AND '.format(subQwery, item[0], valueList[i])
else:
#subQwery = subQwery + item[0] + '=\'' + valueList[i] + '\' AND '
subQwery = "{}{}='{}' AND ".format(subQwery, item[0], valueList[i])
i += 1
qwery += subQwery
qwery = qwery.rstrip('AND ').replace("='None'", " IS NULL")
print(qwery)
c.execute(qwery)
conn.commit()
return
#initDBstructure()
firstInit()