problema de sintaxis

Daniel cabrera cabrerachaparro en gmail.com
Dom Feb 6 20:53:17 CET 2005


Hola,
estoy haciendo una aplicacion de ejemplo para conectarme a una BD de
MySQL pero cuando la ejecuto me sale un error de sintaxis, que dice:

CREATE_EMPLOYEE_SQL = """CREATE TABLE EMPLOYEE (
error de sintaxis.

No entiendo cual puede ser el error, por si acaso mando todo el codigo gracias. 

Daniel Cabrera

import MySQLdb
SoundexDict = { "B":"1","P":"1","F":"1","V":"1",
		"C":"2","S":"2","G":"2","J":"2",
		"K":"2","Q":"2","X":"2","Z":"2",
		"D":"3","T":"3",
		"L":"4",		
		"M":"5","N":"5",
		"R":"6",			
		"A":"7","E":"7","I":"7","O":"7","U":"7","Y":"7",
		"H":"8","W":"8",}	
CREATE_EMPLOYEE_SQL = """CREATE TABLE EMPLOYEE (
	EMPLOYEE_ID INT NOT NULL,      	 
	FIRST_NAME VARCHAR(20) NOT NULL,
        LAST_NAME VARCHAR(20) NOT NULL,
        MANAGER_ID INT
	)"""
DROP_EMPLOYEE_SQL = "DROP TABLE EMPLOYEE"
INSERT_SQL = "INSERT INTO EMPLOYEE VALUES"
def SoundexEncoding(str):
	"""Return the 4-character SOUNDEX code for a string. Take 
        first  letter, then encode subsequent consonants as numbers.
	Ignore repeated codes (e.g MM codes as 5, not 55), unless
        separated by vowel (e.g. SOS codes as 22)"""
        if (str==None or str==""): return None
            str = str.upper() # ignore case!
            SoundexCode = str[0]
            LastCode = SoundexDict[str[0]]
            for char in str[1:]:
                CurrentCode = SoundexDict[char]
                if (CurrentCode=="8"):
                    pass
                elif (CurrentCode=="7"):
                    LastCode = None
                elif (CurrentCode!=LastCode):    			
			SoundexCode+=CurrentCode
                if len(SoundexCode)==4: break
               		SoundexCode += "0"*(4 - len(SoundexCode))
                return SoundexCode
#Create the EMPLOYEE table
CreateTable(Conn):
     	NewCursor=Conn.cursor()
	try:
      		NewCursor.execute(DROP_EMPLOYEE_SQL)
       		NewCursor.execute(CREATE_EMPLOYEE_SQL)
        finally:
  		NewCursor.close()
# insert a new employee into the table
def CreateEmployee(Conn.DataValues):
	NewCursor=Conn.cursor()
        try:
        	NewCursor.execute(INSERT_SQL+DataValues)   finally:
                NewCursor.close()
#Do a sounds-like query on a name
def PrintUsersLike(Conn.Name):
	if (Name==None or Name==""): return
        	print "Users with last name similar to", Name+":"
                SoundexName = SoundexEncoding(Name)
                QuerySQL = "SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM"

QuerySQL+ = " EMPLOYEE WHERE LAST_NAME LIKE '"+Name[0]+"%'"
                NewCursor=Conn.cursor()
                try:
                        NewCursor.execute(QuerySQL)
                        for EmployeeRow in NewCursor.fetchall():
                            if
(SoundexEncoding(EmployeeRow[2])==SoundexName):

            			print EmployeeRow
                finally:
                        NewCursor.close() if (__name__=="__main__"):       

Conn=ODBC.Linux.Connect("prueba",clear_auto_commit=0)
CreateTable(Conn)                   
CreateEmployee(Conn,'(1,"Bob","Hilbert",Null)')
CreateEmployee(Conn,'(2,"Sarah","Pfizer",Null)')  
CreateEmployee(Conn,'(3,"Sandy","Lee",1)')

          CreateEmployee(Conn,'(4,"Pat","Labor",2)')                    

CreateEmployee(Conn,'(5,"Larry","Helper",Null)')PrintUsersLike(Conn,"Heilbronn")
PrintUsersLike(Conn,"Pfizer")PrintUsersLike(Conn,"Washigton")
PrintUsersLike(Conn,"Lieber")
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es