Begin a "Delete record" procedure

This commit is contained in:
svk28
2017-04-06 15:59:26 +03:00
parent 44baf080db
commit 339e353b2b
2 changed files with 52 additions and 19 deletions

27
dm.py
View File

@@ -361,8 +361,6 @@ def selectDataFromDB(tblName, fieldName, fieldValue):
field = rel[0]
fieldRel = rel[1][0]
fieldReplace = rel[1][1]
#field_replace = field_replace.replace(",", ",' ',")
#field_replace = field_replace.replace(",", " || ")
# определяем название таблицы для вложенного запроса
table1 = fieldRel.split('.')[0]
field1 = fieldRel.split('.')[1]
@@ -376,10 +374,7 @@ def selectDataFromDB(tblName, fieldName, fieldValue):
fieldReplace = fieldReplace.replace(",", ",' ',")
subqwery = "(SELECT CONCAT(" + fieldReplace + ") FROM " + subqwery + " WHERE " + table1 + "." + field1 + "=" + tblName + "." + field + ") AS " + field
elif db_type == "sqlite":
#print(db_type)
#print(fieldReplace)
fieldReplace = fieldReplace.replace(",", " || ' ' ||")
#print(fieldReplace)
subqwery = "(SELECT (" + fieldReplace + ") FROM " + subqwery +" WHERE "+ table1 + "." + field1 +"="+ tblName +"."+ field +") AS " + field
#print("---" + subqwery)
qwery = qwery.replace(field, subqwery)
@@ -391,20 +386,15 @@ def selectDataFromDB(tblName, fieldName, fieldValue):
def selectRelationsDataFromDB(tblSearch, fieldName, fieldValue):
global tbl_struct_list, c, db_type
#print("Ищем связи для:" +tblSearch +','+ fieldName +','+fieldValue)
#print(tbl_struct_list)
searchField = tblSearch + '.' + fieldName
dataList = []
for item in tbl_struct_list:
#print(item)
tblName = item[0]
for field in item[1]:
field = field[0]
for rel in item[2]:
if rel[1][0] == searchField:
#print("таблица:" + tblName + "поле:"+ rel[0] + 'Значение:' + fieldValue)
data = selectDataFromDB(tblName, rel[0], fieldValue)
#print(data)
dataList.append([tblName, data])
return dataList
@@ -422,7 +412,24 @@ def getTablesDescriptionOfName(tblName):
if i[0] == tblName:
return(i[1])
# Удаление записи из БД
def deleteRecordsFromDB(tableName, valueList):
global c, db_type
qwery = 'DELETE FROM {} WHERE '.format(tableName)
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 '
else:
subQwery = subQwery + item[0] + '=\'' + valueList[i] + '\' AND '
#subQwery = '{}'.format(subQwery,item[0])
i += 1
qwery += subQwery
print(qwery)
#initDBstructure()
firstInit()