2011-08-29 91 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數據庫

回答