Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Данные элементов формы как аргументы запроса [RSS Feed]

#1 Март 4, 2021 19:40:05

IF_gen
Зарегистрирован: 2021-03-04
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Данные элементов формы как аргументы запроса

Всем привет.
Просьба помочь.
Есть БД, есть форма с элементами (PushButton, LineEdit).
Как сделать так, что бы при нажатии кнопки запускался запрос INSERT где одним из аргументов VALUE был текст в LineEdit?

from PyQt5 import QtWidgets, uic
import psycopg2

class MyWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
uic.loadUi(“MyForm.ui”, self)
self.btnLoad.clicked.connect(self.on_click_load)

def on_click_load(self):
self.lineEdit.setText(“Хабля”)

conn = psycopg2.connect(dbname='TEST1', user='postgres', password='1123581321', host='localhost')
cursor = conn.cursor()
tree = self.lineEdit.text()

cursor.execute(
‘INSERT INTO table2(num, “Tree”) VALUES(444, ’“ + tree + ”')')
conn.commit()
conn.close()
if __name__ == “__main__”:
import sys
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())

Отредактировано IF_gen (Март 4, 2021 19:40:41)

Офлайн

#2 Март 5, 2021 07:02:06

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Данные элементов формы как аргументы запроса

Вам бы неплохо
1 Воспользоваться кнопкой <> и отформатировать текст скрипта. Так его никто не будет читать.
2. Изложить в чем проблема. А так скрипт есть. Может он и работает.
3. Прочитать в документации как передают в запрос аргументы. Убедиться что никто не формирует строку запроса строковыми операциями. Например тут https://www.psycopg.org/docs/usage.html

p.s.
Ко всему прочему неплохо осознать что авторы Qt считают что единственное правильное решение для решения любой задачи использовать Qt. У него есть свои коннекторы к базам данных. Использование чужих модулей для доступа создаст “напряженность” в архитектуре приложения. О том как делать любые вещи надо спрашивать на форумах Qt а не питона или postgres .
Именно поэтому я полностью отказался от Qt.



Отредактировано doza_and (Март 5, 2021 07:15:23)

Офлайн

#3 Март 5, 2021 11:51:43

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1308
Репутация: +  112  -
Профиль   Отправить e-mail  

Данные элементов формы как аргументы запроса

IF_gen
Просьба помочь.
 from PyQt5 import QtWidgets, uic
import psycopg2
class MyWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
uic.loadUi(MyForm.ui, self)
self.btnLoad.clicked.connect(self.on_click_load)
def on_click_load(self):
self.lineEdit.setText(“Хабля”)
conn = psycopg2.connect(dbname='TEST1', user='postgres', password='1123581321', host='localhost')
cursor = conn.cursor()
tree = self.lineEdit.text()
cursor.execute(
INSERT INTO table2(num, Tree) VALUES(444, ’“ + tree + ')')
conn.commit()
conn.close()
if __name__ == __main__:
import sys
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())

ваш код дает ошибку,говорит что нет отступов.Как бы на форуме решить эту проблему,у вас есть варианты?

Офлайн

#4 Март 5, 2021 16:37:10

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Данные элементов формы как аргументы запроса

xam1816
Как бы на форуме решить эту проблему,у вас есть варианты?
doza_and
1 Воспользоваться кнопкой <> и отформатировать текст скрипта.



Офлайн

  • Начало
  • » GUI
  • » Данные элементов формы как аргументы запроса[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version