Форум сайта python.su
1
Номер выбраного столбца. Использовать его для SQL можно примерно так (только что придумал, не судите строго):Спасибо! то что надо))Вот погуглил тут еще и нашел такую вещь:row = view1.currentIndex().row()
modelIndex = view1.currentIndex()
modelIndex = modelIndex.sibling(row,0)
id = view1.model().data(modelIndex).toString()
Кстати ты не читал книгу “Совершенный код” (Стив Макконнел). Очень рекомендую, она вобщем про принципы программирования.Надо будет читануть как время будет! просто времени катастрафически нехватает на все(((
Офлайн
1
Появился вопрос по типам 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)
Офлайн
1
Решил попробовать преобразовать типы короче масло-масляное,но тоже не работает(((Хотя в консоли опять все норм!
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. Всегда парился при работе с базой с типами дата и время(((
Офлайн
0
Блин, и откуда ты такое колдовство берешь? У меня первый вариант работает без всяких нареканий (второй не пробовал). После query.exec_() напиши print(query.lastError().text()), если выведет пустую строку, значит инсерт проходит и надо искать ошибку в self.refresh_table_sale().
Офлайн
1
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)
Офлайн
0
apologize828Поделись пожалуйста рабочим кодом по использованию QTableView.
Как добавлять записи в QTableView я разобрался
Отредактировано (Ноя. 17, 2010 19:55:59)
Офлайн