2011-08-29 92 views
0
self.dateEntry = wx.GenericDatePickerCtrl(self, -1, size=(120,20), pos=(90,185), 
             style = wx.TAB_TRAVERSAL 
              | wx.DP_DROPDOWN 
              | wx.DP_SHOWCENTURY 
              | wx.DP_ALLOWNONE) 
self.dateEntry.Bind(wx.EVT_DATE_CHANGED, self.OnGetDate) 

... 

def OnGetDate(self, evt): 
    date = evt.GetDate() 
    return date 
... 

def AddEntry(self, evt): 
... 
cur.execute("insert into entries (ref_no, entry_date, description) values (%s, %s, %s)", (refNo, datetime.date(self.OnGetDate), desc,)) 

所以说类型错误:需要一个整数,我知道导致错误的问题是datetime.date(self.OnGetDate),日期的格式为datetime.date(YYYY, mm,dd),而datepickerctrl有(mm/dd/yy)。我试图摆脱datetime.date的,但另一个错误出现说psycopg2.ProgrammingError:无法适应型“instancemethod”,我知道它说,因为我不能打电话要插入到数据库的方法。所以我的问题还有另外一种方法,就是在widget上获取日期并将其放在数据库中。我遇到了解决任何问题的方法。或者我做错了什么。插入日期从wxdatepickerctrl数据库

回答