boyeestudio wrote: > now,I want to insert some data to the sybase database, > some variable such as i,j,k,name,k,j I have defined before. > I write the sql statement here But I meet some errors,How to write this > nested String for sql query? > For example: > > >>>import Sybase > >>> db = Sybase.connect('boyee','sa','',"test'') > >>> c = db.cursor() > ...... > > >>> values = "%d,%d,%d,%s,%d,%d" % (i,j,k,name,k,j) > >>> c.execute("'insert into > productinfo(productid,spid,corpid,productname,type1, > type2) value(@value)',{'@value':values}") > > Traceback (most recent call last): > File "<stdin>", line 1, in ? > File "C:\Python24\lib\site-packages\Sybase.py", line 774, in execute > self.description = fetcher.start(self.arraysize) > File "C:\Python24\lib\site-packages\Sybase.py", line 517, in start > return self._start_results() > File "C:\Python24\lib\site-packages\Sybase.py", line 645, in > _start_results > self._raise_error(Error, 'ct_results') > File "C:\Python24\lib\site-packages\Sybase.py", line 506, in _raise_error > raise exc(text) > Sybase.Error: ct_results > > Any reply is enjoyable,Thank a lot! > Try instead:
values = (i,j,k,name,k,j) c.execute("""insert into productinfo (productid, spid, corpid, productname, type1, type2) values (%d,%d,%d,%s,%d,%d)""", values) I haven't used the Sybase module - you may find you need to use %s,%s,%s,%s,%s,%s to represent the parameterized values in the query rather than %d,%d,%d,%s,%d,%d Don't forget to call db.commit() to make the changes permanent. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://del.icio.us/steve.holden Recent Ramblings http://holdenweb.blogspot.com -- http://mail.python.org/mailman/listinfo/python-list