A quanto pare ho capito... in un forum ho trovato che la struttura delle query 
da Access a SQLServer cambia, quindi la riga giusta è del tipo

sqlstringdbo_art_0="""UPDATE dbo.articoli_0
                SET dbo.articoli_0.descrizione_2 = '%s' , 
dbo.articoli_0.barcode = '%s'
                FROM dbo.articoli_0 
                INNER JOIN dbo.listini_art_for ON dbo.articoli_0.cod_art = 
dbo.listini_art_for.art_cod 
                WHERE dbo.listini_art_for.cod_art_ana = '%s' 
                AND dbo.listini_art_for.cod_ana = %d ;"""  %( 
self.dict_articoli[articolo]["descrizione"],self.dict_articoli[articolo]["barcode"],articolo,self.codice_fornitore)

In pratica si inverte l'ordine di INNER JOIN e il Where va in fondo...
Io usavo il compositore access per crearmi le query :) e quindi ci sono cascato
Che fatica però, sento davvero l'esigenza di un debug :)

Pier


________________________________
 Da: piergiorgio pancino <piert...@yahoo.it>
A: "python@lists.python.it" <python@lists.python.it> 
Inviato: Giovedì 5 Luglio 2012 10:31
Oggetto: Re: Query in PyQt
 



Ora riesco a visualizzare l'errore, ma non capisco cos'è, a me sembra tutto 
giusto...

[Microsoft][ODBC SQL Server Driver][SQL Server]Sintassi non corretta in 
prossimità della parola chiave 'INNER'. QODBC3: Unable to execute statement


questa è la stringa:

sqlstringdbo_art_0= """UPDATE dbo.articoli_0 INNER JOIN (dbo.listini_art_for ON 
dbo.articoli_0.cod_art = dbo.listini_art_for.art_cod ) SET 
dbo.articoli_0.descrizione_2 = "%s" , dbo.articoli_0.barcode = "%s" WHERE 
(dbo.listini_art_for.cod_art_ana = "%s" ) AND (dbo.listini_art_for.cod_ana = %d 
);""" % 
(self.dict_articoli[articolo]["descrizione"],self.dict_articoli[articolo]["barcode"],articolo,self.codice_fornitore)
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a