Название: Частичное записывание данных Отправлено: nixman05 от Март 27, 2010, 23:04 Здравствуйте.
Использую QODBC для работы с FoxPro (необходимость поддержки старой системы) Возникли некоторые ошибки при добавлении данных в таблицу. Таблица имеет следующню структуру: ID N 8 TN N 8 FAM C 30 NAME C 12 OTCH C 15 birthdate D 8 adr C 100 sex C 3 Данные добавляются следующим образом Код
Запрос отрабатывает но в таблицу добавляется только id, fam, name и otch. Остальные поля остаются пустыми. В чём может быть ошибка и как ее устранить? Заранее благодарен. Название: Re: Частичное записывание данных Отправлено: lit-uriy от Март 28, 2010, 00:47 >>только id, fam, name и otch.
Кореляция такова: записываются целые числа и переменные для которых вызывается метод toLocal8Bit() Какие типы имеют переменные date, adr, grazd, sex? Название: Re: Частичное записывание данных Отправлено: nixman05 от Март 28, 2010, 01:20 >>только id, fam, name и otch. Кореляция такова: записываются целые числа и переменные для которых вызывается метод toLocal8Bit() Какие типы имеют переменные date, adr, grazd, sex? date QDate adr QString (также вызывал toLocalBit) grazd QString sex QString Да и TN имеет тип int, но в отличае от id не записывается. Название: Re: Частичное записывание данных Отправлено: Пантер от Март 28, 2010, 10:38 Как создаешь подключение? У меня таких проблем не было.
Название: Re: Частичное записывание данных Отправлено: nixman05 от Март 28, 2010, 11:28 Подключение создается следубщим образом:
Код
Название: Re: Частичное записывание данных Отправлено: Пантер от Март 28, 2010, 12:49 Попробуй вот так:
DRIVER={Microsoft dBase Driver (*.dbf)};FIL={dBase III;};DefaultDir=каталог_с_нужным_файлом Название: Re: Частичное записывание данных Отправлено: nixman05 от Март 28, 2010, 15:25 Попробуй вот так: DRIVER={Microsoft dBase Driver (*.dbf)};FIL={dBase III;};DefaultDir=каталог_с_нужным_файлом Получена ошибка при подключении: [Microsoft][Драйвер ODBC dBase] Внешняя таблица не имеет предполагаемый формат. QODBC3: Unable to execute statement P.S. Если это немного прояснит ситуацию то таблицы, к которым я обращають созданы в Visual FoxPro, хотя ,насколько я помню, dbf форматы различаются только memo-полями. Название: Re: Частичное записывание данных Отправлено: Пантер от Март 28, 2010, 16:00 Нет, форматы различаются не только мемо полями. Приложи сюда пример файла.
Название: Re: Частичное записывание данных Отправлено: nixman05 от Март 28, 2010, 17:09 Попробовал пересоздать таблицу : добавились все поля. В таблище еще имеются несколько служебных полей, будут ли добавляться данные при их наличии?
P.S. А чем еще различаются различные форматы dbf помимо memo-полей? Название: Re: Частичное записывание данных Отправлено: Пантер от Март 28, 2010, 19:01 Попробовал пересоздать таблицу : добавились все поля. В таблище еще имеются несколько служебных полей, будут ли добавляться данные при их наличии? Про служебные поля не понял, расшифруй.P.S. А чем еще различаются различные форматы dbf помимо memo-полей? Отличаются параметрами в заголовке файла. В формат Clipper строка увеличена в 2 раза. Поищи в интернете описания. Название: Re: Частичное записывание данных Отправлено: nixman05 от Март 30, 2010, 19:01 Кажись нашел в чм была ошибка.
Дело в том, что при добавлении не во все поля, для полей с данными, которые следуют за пустыми полями, данные поля так же не заполняются. Название: Re: Частичное записывание данных Отправлено: panAlexey от Апрель 02, 2010, 23:40 P.S. А чем еще различаются различные форматы dbf помимо memo-полей? Вообще их 7 разновидностей....Название: Re: Частичное записывание данных Отправлено: Пантер от Апрель 03, 2010, 10:20 P.S. А чем еще различаются различные форматы dbf помимо memo-полей? Вообще их 7 разновидностей....Название: Re: Частичное записывание данных Отправлено: panAlexey от Апрель 07, 2010, 07:05 P.S. А чем еще различаются различные форматы dbf помимо memo-полей? Вообще их 7 разновидностей....-FoxBASE -FoxBASE+/dBASE III PLUS, no memo -Visual FoxPro -dBASE IV SQL table files, no memo -dBASE IV SQL system files, no memo -FoxBASE+/dBASE III PLUS, with memo -BdBASE IV with memo -dBASE IV SQL table files, with memo -FoxPro 2.x (or earlier) with memo Название: Re: Частичное записывание данных Отправлено: Пантер от Апрель 07, 2010, 11:28 Clipper забыл.
|