Ciao a tutti, sono bloccato su una cosa apparentemente semplice.
Sto lavorando su un file DBF che il programma "DBF Viewer 2000" dice essere di formato "FoxBase+/dBASE III PLUSE, no memo". E' un file di dati di un gestionale Zucchetti.
Se eseguo questo codice per aggiornare un record
Gira senza errori ma non aggiorna...codice:Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & opt.path & "\" & ";Extended Properties=dBase III;" Dim oledbAdapterIns As New OleDbDataAdapter() Dim InsConnection As New OleDbConnection(ConnectionString) oledbAdapterIns = New OleDbDataAdapter() InsConnection = New OleDbConnection(ConnectionString) Try InsConnection.Open() Dim s As String s = "UPDATE LIBRIAZ SET LIBRIAZ.ULTNUM=6 WHERE LIBRIAZ.REGISTRO='CW' AND LIBRIAZ.ANNO='2011' AND LIBRIAZ.CHIAVE='ORD_REG'" oledbAdapterIns.InsertCommand = New OleDbCommand(s, InsConnection) Dim rows As Integer = oledbAdapterIns.InsertCommand.ExecuteNonQuery() Catch ex As Exception Debug.Writeline(ex.Message) End Try oledbAdapterIns.Dispose() InsConnection.Dispose()
In realtà il bizzarro arriva adesso: se levo una delle tre condizioni
ad esempiocodice:LIBRIAZ.REGISTRO='CW' AND LIBRIAZ.ANNO='2011' AND LIBRIAZ.CHIAVE='ORD_REG'
l'UPDATE FUNZIONE, impostando LIBRIAZ.ULTNUM a 6 nelle righe giuste.codice:LIBRIAZ.ANNO='2011' AND LIBRIAZ.CHIAVE='ORD_REG'
Non è una questione di quale condizione levo, perchè è sufficiente levarne una.
Non sono le parentesi, perchè ho provato a scrivere COND1 AND (COND2 AND COND3) ma non cambia nulla.
Sono bloccato da giorni e googlando non salta fuori nulla di pertinente.
Per caso qualcuno ha un'idea o ci è già passato?
Grazie![]()

Rispondi quotando
