odbc errors

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • eight02645999@yahoo.com

    odbc errors

    hi

    i have a piece of code:
    ....

    def connectdb(sql):
    import dbi
    import odbc
    import sys
    try:
    s = odbc.odbc('DSN= CONN;UID=user;P WD=pass')
    cur = s.cursor()
    # cur.execute("se t nocount on")
    cur.execute(sql )
    while 1:
    rec = cur.fetchone()
    if not rec: break
    return rec
    except:
    print 'error while processing ', sys.exc_type,sy s.exc_value
    s.close()
    cur.close()
    s = None
    cur = None

    ....
    sql = r'update table set col = 'A' where user = "user1"'
    connectdb(sql)


    when i execute it from CGI, i encounter the following :
    error while processing dbi.internal-error [MERANT][ODBC Sybase ASE
    driver]Invalid cursor state. in FETCH None

    but when i did check the table, the value of col is updated to 'A',
    how can i suppress the above error message? or is there some other
    things
    that are wrong with the code.
    thanks

  • Roger Upole

    #2
    Re: odbc errors

    eight02645999@y ahoo.com wrote:[color=blue]
    > hi
    >
    > i have a piece of code:
    > ...
    >
    > def connectdb(sql):
    > import dbi
    > import odbc
    > import sys
    > try:
    > s = odbc.odbc('DSN= CONN;UID=user;P WD=pass')
    > cur = s.cursor()
    > # cur.execute("se t nocount on")
    > cur.execute(sql )
    > while 1:
    > rec = cur.fetchone()
    > if not rec: break
    > return rec
    > except:
    > print 'error while processing ', sys.exc_type,sy s.exc_value
    > s.close()
    > cur.close()
    > s = None
    > cur = None
    >
    > ...
    > sql = r'update table set col = 'A' where user = "user1"'
    > connectdb(sql)
    >
    >
    > when i execute it from CGI, i encounter the following :
    > error while processing dbi.internal-error [MERANT][ODBC Sybase ASE
    > driver]Invalid cursor state. in FETCH None
    >
    > but when i did check the table, the value of col is updated to 'A',
    > how can i suppress the above error message? or is there some other
    > things
    > that are wrong with the code.
    > thanks
    >[/color]

    The update is performed as soon as you execute the cursor.
    No recordset is returned from the update, so you can remove
    the fetch altogether.

    hth
    Roger



    ----== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==----
    http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
    ----= East and West-Coast Server Farms - Total Privacy via Encryption =----

    Comment

    Working...