I missed the like clause which of course needs to be "like %?%" Paul
On Jan 22, 2013, at 13:53, Paul McNett <[email protected]> wrote: > On 1/22/13 1:16 PM, Carey Gagnon wrote: >> def getCurrentProject(self): >> if self.Record.projectname: >> projectName = self.Record.projectname >> projectNameSearch = projectName.split() >> projectSearchName = projectNameSearch[0] >> crs = self.getTempCursor() >> crs.execute("select builderfk, projectname, buildername from >> projects inner join builders on projects.builderfk = builders.id where >> projectname like %s", ('%%%s%%' % projectSearchName)) >> ds = crs.getDataSet() >> if ds: >> cnt = len(ds) >> recs = ds >> return ("There are %s project similar to %s already in the >> database as,\n%s.\n\nDo you " >> "want to add it anyway?" % (cnt, projectName, ", " >> .join(str(rec["projectrname"]) for rec in recs)) > > Try this, and ask me about where I've optimized the code for you in places. > > {{{ > def getCurrentProject(self): > """Return information about similar projects; Called before saving.""" > rec = self.Record > if rec.projectname: > projectSearchName = rec.projectname.split()[0] > crs = self.getTempCursor(""" > select builderfk, > projectname, > buildername > from projects > inner join builders > on builders.id = projects.builderfk > where projectname like ?""", (projectSearchName,)) > > names = [] > for i in range(crs.RowCount): > crs.RowNumber = i > names.append(crs.Record.projectname) > if names: > plural = ("is", "") > if len(names) == 1: > plural = ("are", "s") > ret = "There %s %s project%s similar to %s already in the database, as:\n" > \ > % (plural[0], len(names), plural[1], rec.projectname) > for name in sorted(names): > ret += " -> %s\n" % name > ret += "\nDo you want to add it anyway?" > return ret > }}} > > It is untested an so may have name or syntax errors, but you should get the > idea. > > Paul > > _______________________________________________ > Post Messages to: [email protected] > Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/dabo-users > Searchable Archives: http://leafe.com/archives/search/dabo-users > This message: http://leafe.com/archives/byMID/[email protected] _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/dabo-users Searchable Archives: http://leafe.com/archives/search/dabo-users This message: http://leafe.com/archives/byMID/[email protected]
