ГЛАВНАЯ      ДОКУМЕНТАЦИЯ      СТАТЬИ      ПРОГРАММЫ      ССЫЛКИ      ФОРУМ      ДРУГОЕ   

Доступ к базе данных сервера MySQL средствами модуля MySQLdb

        Для работы понадобятся сервер mySQL, модуль MySQLdb и база данных, созданная в примере "Использование модуля MySQLdb".
        1. Средствами программы designer создаем форму. Соединений "сигнал-слот" в форме не выполняем, создадим такое соединение в программном коде. При создании формы даем виджетам имена как на рисунке.


        2. После двойного щелчка на таблице устанавливаем для нее две колонки и удаляем все строки:

Сохраняем результаты в файл "form1.ui".
        3. С помощью pyuic из файла form1.ui генерируем form1.py и реализуем производный класс формы Form1Impl с функциями доступа к базе данных в файле form1impl.py:
# -*- coding: utf-8 -*-

from form1 import *
from MySQLdb import connections

class Form1Impl(Form1):
    def __init__(self):
        Form1.__init__(self)
	self.connect(self.pushButton,SIGNAL("pressed()"),self.SlotInsert)
	self.db=connections.Connection(db='test', host='localhost', user='cetus')
	self.curs=self.db.cursor()
	self.Select()
		    
    def Select(self):
	row=self.curs.execute("SELECT * from device;")
	self.table.setNumRows(row)
	rw=self.curs.fetchone()
	for i in range(row):
	    self.table.setText(i,0,rw[1])
	    self.table.setText(i,1,str(rw[2]))
	    rw=self.curs.fetchone()

    def SlotInsert(self):
        row=self.curs.execute("INSERT INTO device VALUES(0,'%s','%s')" % \
		(self.lineEditName.text(),self.lineEditCost.text()))
        self.Select()
        Команда "self.connect(self.pushButton,SIGNAL("pressed()"),self.SlotInsert)" назначает сигналу "pressed()" кнопки обработчик "SlotInsert".
        4. Добавляем модуль "main.py".
#!/usr/bin/python

import sys
from form1impl import *

app=QApplication(sys.argv)
form=Form1Impl()
app.setMainWidget(form)
form.show()
app.exec_loop()
        5. Устанавливаем для main.py право на выполнение. Выполняем.

Источники:
        cetus.com.ua

ПОМОЩЬ САЙТУ :
sms.Є®ЇЁ«Є  *PythonUA*
Для чего Вы используете Python?
Admin( 46 )
Web( 61 )
GUI( 37 )
Embedding ( 16 )
Другое( 34 )
Какими продуктами Вы пользовались?
Zope( 15 )
Plone( 1 )
TG( 7 )
Django( 15 )
Twisted( 5 )
Другими( 10 )
ДРУЗЬЯ:
LUG.DN.UA
D-FENS.ORG.UA
SLAV0NIC.XSS.RU
CETUS.COM.UA
ENTDEV.ORG
[Python Powered]
Rambler's Top100
Copyright © 2006 python.com.ua