Change SELECT qwery
This commit is contained in:
parent
dc40c35424
commit
7eb4f66e53
44
dm.py
44
dm.py
|
@ -1,27 +1,38 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import json
|
||||
import json, pymysql
|
||||
|
||||
conn = pymysql.connect(
|
||||
db='ats',
|
||||
user='dba',
|
||||
passwd='AlsprofilinE',
|
||||
host='kis',
|
||||
charset='utf8')
|
||||
c = conn.cursor()
|
||||
|
||||
|
||||
def createTables(tbl_list):
|
||||
global tbl_descr_list
|
||||
global tbl_descr_list, tbl_struct_list
|
||||
i = 0
|
||||
tbl_names_list = []
|
||||
tbl_descr_list = []
|
||||
tbl_struct_list = []
|
||||
|
||||
while i < len(tbl_list):
|
||||
one_Table_descr = []
|
||||
one_Table_struct = []
|
||||
tbl_descr = tbl_list[i]["tableDescription"]
|
||||
tbl_name = tbl_list[i]["tableName"]
|
||||
field_list = tbl_list[i]["fieldList"][i].keys()
|
||||
tbl_names_list.append([tbl_name, tbl_descr])
|
||||
one_Table_descr.append(tbl_name)
|
||||
one_Table_struct.append(tbl_name)
|
||||
|
||||
x = 0
|
||||
# список всех полей таблицы
|
||||
qwery_create = "CREATE TABLE " + tbl_name + " ("
|
||||
#qwery_select = "SELECT * FROM "
|
||||
index = ""
|
||||
field_names_list = []
|
||||
|
||||
struct_fields_list = []
|
||||
while x < len(tbl_list[i]["fieldList"]):
|
||||
if tbl_list[i]["fieldList"][x]["autoIncrement"] == "yes":
|
||||
auto_increment = " AUTO_INCREMENT, "
|
||||
|
@ -32,14 +43,14 @@ def createTables(tbl_list):
|
|||
if tbl_list[i]["fieldList"][x]["index"] == "PRIMARY KEY":
|
||||
index = "PRIMARY KEY(" + tbl_list[i]["fieldList"][x]["fName"] + ")"
|
||||
field_names_list.append(tbl_list[i]["fieldList"][x]["fDescription"])
|
||||
struct_fields_list.append(tbl_list[i]["fieldList"][x]["fName"])
|
||||
x = x + 1
|
||||
qwery_create = qwery_create + index + ");"
|
||||
|
||||
one_Table_struct.append(struct_fields_list)
|
||||
one_Table_descr.append(field_names_list)
|
||||
#print(qwery_create)
|
||||
i = i + 1
|
||||
tbl_descr_list.append(one_Table_descr)
|
||||
#print(tbl_descr_list)
|
||||
tbl_struct_list.append(one_Table_struct)
|
||||
return tbl_names_list
|
||||
|
||||
def initDBstructure():
|
||||
|
@ -51,10 +62,19 @@ def initDBstructure():
|
|||
|
||||
return tbl_names_list
|
||||
|
||||
def selectData(table_name):
|
||||
# получаем данные из таблицы
|
||||
data_list = ("1","2","3","4","5")
|
||||
return table_name
|
||||
# выборка данных из заданной таблицы
|
||||
def selectData(tbl):
|
||||
global tbl_struct_list
|
||||
#select docs.doc_name, docs.description, (select CONCAT(last_name, ' ', name, ' ', middle_name) AS user from users where id = docs.users_id) as user from docs
|
||||
qwery = "SELECT "
|
||||
for item in tbl_struct_list:
|
||||
if item[0] == tbl:
|
||||
for field in item[1]:
|
||||
qwery = qwery + field + ","
|
||||
qwery = qwery.rstrip(',') + " FROM " + tbl + " LIMIT 10000"
|
||||
c.execute(qwery)
|
||||
|
||||
return c.fetchall()
|
||||
|
||||
# получаем на вход имя таблицы и возвращаем список заголовков полей
|
||||
def getTablesStructure(tbl):
|
||||
|
@ -62,7 +82,5 @@ def getTablesStructure(tbl):
|
|||
for item in tbl_descr_list:
|
||||
if item[0] == tbl:
|
||||
return item[1]
|
||||
#print(tbl_descr_list)
|
||||
#return tbl_descr_list
|
||||
|
||||
#initDBstructure()
|
24
gui.py
24
gui.py
|
@ -8,16 +8,16 @@ from PyQt5.QtCore import Qt
|
|||
from PyQt5.QtWidgets import QMainWindow, QTextEdit, QAction, QApplication, QListView, QListWidget, QTableWidget , QTableView, QTableWidgetItem
|
||||
from PyQt5.QtGui import QIcon
|
||||
from PyQt5.QtSql import *
|
||||
import pymysql
|
||||
#import pymysql
|
||||
import dm
|
||||
|
||||
conn = pymysql.connect(
|
||||
db='ats',
|
||||
user='dba',
|
||||
passwd='AlsprofilinE',
|
||||
host='kis',
|
||||
charset='utf8')
|
||||
c = conn.cursor()
|
||||
# conn = pymysql.connect(
|
||||
# db='ats',
|
||||
# user='dba',
|
||||
# passwd='AlsprofilinE',
|
||||
# host='kis',
|
||||
# charset='utf8')
|
||||
# c = conn.cursor()
|
||||
|
||||
class MainWin(QMainWindow):
|
||||
|
||||
|
@ -120,9 +120,7 @@ class MyTable(QTableWidget):
|
|||
#print(self.tbl)
|
||||
n = 0
|
||||
for item in dm.getTablesStructure(self.tbl):
|
||||
print(item)
|
||||
# установка заголовков столбцов таблицы
|
||||
#character = chr(ord('A') + n)
|
||||
self.setHorizontalHeaderItem(n, QTableWidgetItem(item))
|
||||
n = n+1
|
||||
|
||||
|
@ -169,14 +167,12 @@ class WorkArea(QWidget):
|
|||
|
||||
# заполняем правый список данными из выбранной таблицы
|
||||
def addData(tbl_name):
|
||||
qwery = "SELECT * FROM " + tbl_name
|
||||
c.execute(qwery)
|
||||
# удаляем предыдущий виджет таблицы
|
||||
item = splitter1.widget(1)
|
||||
if item is not None:
|
||||
#print(item)
|
||||
item.deleteLater()
|
||||
data = c.fetchall()
|
||||
|
||||
data = dm.selectData(tbl_name)
|
||||
# проверка на наличие записей в таблице
|
||||
if data:
|
||||
# количество строк
|
||||
|
|
64
tables.json
64
tables.json
|
@ -74,7 +74,7 @@
|
|||
"autoIncrement": "no"
|
||||
},
|
||||
{
|
||||
"fName": "user_id",
|
||||
"fName": "users_id",
|
||||
"fDescription": "Владелец",
|
||||
"fType": "int(6)",
|
||||
"index": "no",
|
||||
|
@ -129,6 +129,68 @@
|
|||
"autoIncrement": "no"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tableName": "cdr",
|
||||
"tableDescription": "Записи о звонках",
|
||||
"fieldList": [
|
||||
{
|
||||
"fName": "id",
|
||||
"fDescription": "Номер п.п.",
|
||||
"fType": "int(11)",
|
||||
"index": "PRIMARY KEY",
|
||||
"autoIncrement": "yes"
|
||||
},
|
||||
{
|
||||
"fName": "int_number",
|
||||
"fDescription": "Внутренний номер",
|
||||
"fType": "varchar(11)",
|
||||
"index": "no",
|
||||
"autoIncrement": "no"
|
||||
},
|
||||
{
|
||||
"fName": "ext_co_line",
|
||||
"fDescription": "Номер внешней линии",
|
||||
"fType": "char(2)",
|
||||
"index": "no",
|
||||
"autoIncrement": "no"
|
||||
},
|
||||
{
|
||||
"fName": "dial_number",
|
||||
"fDescription": "Набранный номер",
|
||||
"fType": "varchar(30)",
|
||||
"index": "no",
|
||||
"autoIncrement": "no"
|
||||
},
|
||||
{
|
||||
"fName": "ring",
|
||||
"fDescription": "ХЗ",
|
||||
"fType": "varchar(5)",
|
||||
"index": "no",
|
||||
"autoIncrement": "no"
|
||||
},
|
||||
{
|
||||
"fName": "acc_code",
|
||||
"fDescription": "АСС код",
|
||||
"fType": "varchar(20)",
|
||||
"index": "no",
|
||||
"autoIncrement": "no"
|
||||
},
|
||||
{
|
||||
"fName": "call_code",
|
||||
"fDescription": "Код звонка",
|
||||
"fType": "char(2)",
|
||||
"index": "no",
|
||||
"autoIncrement": "no"
|
||||
},
|
||||
{
|
||||
"fName": "call_direct",
|
||||
"fDescription": "Направление",
|
||||
"fType": "varchar(45)",
|
||||
"index": "no",
|
||||
"autoIncrement": "no"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user