powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ошибка 1435
3 сообщений из 3, страница 1 из 1
Ошибка 1435
    #33803630
Oopyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VFP9 SP1 + MS SQL Server 2005
В фоксе есть таблица foxTable. Путём upsizing она была засунута в SQL под именем sqlTable. Структуры идентичны.
Из фокса доступ к sqlTable осуществляется через ADO Cursor Adapter. Alias пусть будет тот же самый - sqlTable.

Далее происходит переброс записей из фокса в SQL

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT foxTable   
  SCAN  
  	SCATTER MEMVAR MEMO  
  	INSERT INTO sqlTable FROM MEMVAR  
  	llInserted = TABLEUPDATE(.F., .T., "sqlTable")  
  	IF NOT llInserted  
  		LOCAL laError[ 1 ], lcErrMsg  
  		AERROR(laError)  
  		lcErrMsg = ""  
  		lcErrMsg = lcErrMsg + "Error #: " + ALLTRIM(STR(laError[ 1 ])) + CHR( 13 ) + CHR( 10 )  
  		lcErrMsg = lcErrMsg + "Error: " + laError[ 2 ] + CHR( 13 ) + CHR( 10 )  
  		MESSAGEBOX(lcErrMsg)  
  	ENDIF  
  ENDSCAN
Всё нормально отрабатывает. Но в одной из записей текстовое поле С(30) пустое (''). На этой записи TABLEUPDATE грохается с выдачей следующей ошибки:
Error #: 1435
Error: Microsoft Cursor Engine: Multiple-step operation generated errors. Check each status value.
Что сие означает - непонятно. Предположил, что сиквелу не нравятся пустые строки (хотя с чего бы?).
В SQL установил для этого поля значение по умолчанию = '' - не помогло. Потом позволил этому полю принимать NULL - не помогло.
Куда ещё смотреть ума не приложу.
...
Рейтинг: 0 / 0
Ошибка 1435
    #33803701
Oopyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наврал. Поле не текстовое, а типа Date. На SQL соответственно Datetime()
...
Рейтинг: 0 / 0
Ошибка 1435
    #33803748
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то тема стала повторяться.
Для начала к
Код: plaintext
lcErrMsg = lcErrMsg + "Error: " + laError[ 2 ] + CHR( 13 ) + CHR( 10 )  
добавь
Код: plaintext
lcErrMsg = lcErrMsg + "Error: " + laError[ 3 ] + CHR( 13 ) + CHR( 10 )  
и посмотри, что там написано.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ошибка 1435
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]