Я действительно застрял на кажущемся простом утверждении.
Я работаю над таблицей DBF.Когда я открываю файл в программе под названием «DBF Viewer 2000», он заявляет, что файл «FoxBase + / dBASE III PLUSE, нет памятки».
Если я запускаю этот код VB.NET
<code>
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()
выполняется без ошибок, НО не обновляет таблицу.
Теперь возникает странное явление: если я уберу одно из трех условий
<code>LIBRIAZ.REGISTRO='CW' AND LIBRIAZ.ANNO='2011' AND LIBRIAZ.CHIAVE='ORD_REG'
например
<code>LIBRIAZ.ANNO='2011' AND LIBRIAZ.CHIAVE='ORD_REG'
ОБНОВЛЕНИЕ работает, устанавливая LIBRIAZ.ULTNUM на 6
Не важно, какое условие я удаляю, потому что достаточно удалить одно из них, чтобы получитьОБНОВЛЕНИЕ работает.
Это дни, когда я пытаюсь понять, почему это поведение ... теперь я довольно отчаялся.
У кого-нибудь есть подсказка?