Форум сайта python.su
Номер выбраного столбца. Использовать его для SQL можно примерно так (только что придумал, не судите строго):Спасибо! то что надо))Вот погуглил тут еще и нашел такую вещь:row = view1.currentIndex().row()
modelIndex = view1.currentIndex()
modelIndex = modelIndex.sibling(row,0)
id = view1.model().data(modelIndex).toString()
Кстати ты не читал книгу “Совершенный код” (Стив Макконнел). Очень рекомендую, она вобщем про принципы программирования.Надо будет читануть как время будет! просто времени катастрафически нехватает на все(((
Офлайн
Появился вопрос по типам DATE и TIME. В базе есть таблица допустим с полями(dates DATE,times TIME) и есть форма на которой могу добавить дату и время из QDateEdit и QTimeEdit.
Пишу так:
def add_sale(self):
f=self.add_s.my_date.text()
g=self.add_s.my_time.text()
query=QtSql.QSqlQuery()
query.exec("INSERT INTO sale(dates,times) VALUES(:d,:t)")
query.bindValue(":d",f)
query.bindValue(":t",g)
query.exec_()
self.refresh_table_sale()
self.add_s.hide()
print(f)
print(g)
Отредактировано (Март 28, 2010 14:39:49)
Офлайн
Решил попробовать преобразовать типы короче масло-масляное,но тоже не работает(((Хотя в консоли опять все норм!
def add_sale(self):
f=self.add_s.my_date.date().year()
g=self.add_s.my_date.date().month()
h=self.add_s.my_date.date().day()
dat=datetime.date(f,g,h)
f1=self.add_s.my_time.time().hour()
g1=self.add_s.my_time.time().minute()
tim=datetime.time(f1,g1)
query=QtSql.QSqlQuery()
query.exec("INSERT INTO sale(dates,times) VALUES(:d,:t)")
query.bindValue(":d",dat)
query.bindValue(":t",tim)
query.exec_()
self.refresh_table_sale()
self.add_s.hide()
P.S. Всегда парился при работе с базой с типами дата и время(((
Офлайн
Блин, и откуда ты такое колдовство берешь? У меня первый вариант работает без всяких нареканий (второй не пробовал). После query.exec_() напиши print(query.lastError().text()), если выведет пустую строку, значит инсерт проходит и надо искать ошибку в self.refresh_table_sale().
Офлайн
dartNNNЛюблю мыслить не как все, пусть даже и бредово)))
Блин, и откуда ты такое колдовство берешь? У меня первый вариант работает без всяких нареканий (второй не пробовал). После query.exec_() напиши print(query.lastError().text()), если выведет пустую строку, значит инсерт проходит и надо искать ошибку в self.refresh_table_sale().
print(query.lastError().text())
P.S. Отловка ошибок святое дело,обязательно учту на будущее
Да и если сделать str(dat) str(tim) то мой бред тоже канает))))Просто там даты по другому (2010-01-01) вместо(01.01.2010)
Хотя стоит читать доки и юзать Designer и тогда бы я раньше узнал что есть такое:и тогда бы не пришлось придумывать такой бред))self.my_date.setDisplayFormat("yyyy-MM-dd")
Отредактировано (Март 29, 2010 15:07:04)
Офлайн
apologize828Поделись пожалуйста рабочим кодом по использованию QTableView.
Как добавлять записи в QTableView я разобрался
Отредактировано (Ноя. 17, 2010 19:55:59)
Офлайн