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