Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Вниз

Разнотипные поля в таблице = ОШИБКА   Найти похожие ветки 

 
BlackWhite   (2005-07-19 16:18) [0]

Здравствуйте!

 Очень удивила следующая проблема! На форуме такого вопроса не нашел. Причем, это же всеми используется, помогите мне.
Итак:
В таблице поля разных типов(строки, числа)
При вставке новой строки в DBGrid заполняю, только строковые поля, нажимаю применить, после чего пытаюсь редактировать числовые - получаю ошибку!!! После закрытия-открытия таблицы(перезапуске приложения) все работает отлично!

Подскажите, что это значит. Компоненты на форме
ADOConnection (или IBDataBase)
ADOTable (или IBTable)
DataSource
DBGrid

настройки по умолчанию, кроме связей.


 
sniknik ©   (2005-07-19 16:23) [1]

> получаю ошибку!!!
попробуй выполнить рекомендации в ней...
если мой телепатор правильно телепатирует то рекомеддация там дается про ключь (добавить праймари кей).


 
BlackWhite   (2005-07-19 16:39) [2]

to sniknik
телепортатор работает неправильно, потому что читальник глючит.
:)
написано же, что после Post данные вносятся. Можно их смотреть и редактировать строковые данные, можно редактировать другие записи причем в них числовые поля редактируются без ошибок, однако если попытаться отредактировать числовые поля в только что внесенной строке то получаю ошибку:

"Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения"


 
sniknik ©   (2005-07-19 16:47) [3]

> "Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения"
а глюк то, в пользу телепатора... ;о)

если нет ключевого поля в таблице/запросе то команда на обновление данных формируется на основе первоначальных данных полей, а они у тебя изменились после первого post.


 
BlackWhite   (2005-07-19 17:00) [4]

to sniknik

Хорошо, попробуем уточнить:
Где нет ключевых полей? Access не позволяет создавать таблицы без ключевых полей! Я хочу сказать что в таблицах самой БД ключевые поля заданы! Или надо еще в компонетах что-то задать? Чесно говоря, это будет для меня открытие. Очень хочется чтоб все решилось просто!


 
Johnmen ©   (2005-07-19 17:22) [5]

Метаданные таблиц с ключевыми полями можешь привести ?


 
sniknik ©   (2005-07-19 17:44) [6]

> Где нет ключевых полей?
кроме тебя про то никто не знает. твоя база, твой код, твоя реализация...

> Access не позволяет создавать таблицы без ключевых полей!
странный у тебя аксесс. мой позволяет.

...
и т.д. ;о))

а для самых серьезных случаев можно использовать
ADODataSet1.Properties["Update Criteria"].Value:= adCriteriaKey; //обновлять только по ключу
по умолчанию стоит adCriteriaAllCols (если не ошибаюсь)
но это только для ADO...


 
BlackWhite   (2005-07-19 17:49) [7]

да какие метаданные?!!!
просто ради эксперимента сделал таблицу из трех полей:
Id: счетчик  - ключ!
Name: Текстовый
Number: Числовой

Все! после вставки любого одного из полей(кроме ID), второе уже добавить после внесения данных невозможно, до следующего запуска приложения! Что это значит? Может еще какой то компонет следит или буфер какой-то надо сбрасывать. Вообще один выход делать все поля строковыми! Во Бред!!! Помогите.


 
Johnmen ©   (2005-07-19 17:58) [8]

Прошу заметить, что "ключ" <> "счетчик".


 
sniknik ©   (2005-07-19 18:05) [9]

> Id: счетчик  - ключ!
счетчик - не обязательно ключ!

и похоже так оно и есть, для автоинкремента нужно сделать
ADODataSet1.Properties["Update Resync"].Value:= adResyncAutoIncrement;

но опять же, только для ADO.


 
BlackWhite   (2005-07-19 18:10) [10]

to Johnmen
ну что сказать? Логика железная! Определенно кто-то из нас летит в Ленинград!

to sniknik
да будет запечатлен твой ник в веках!!!
ADODataSet1.Properties["Update Criteria"].Value:= adCriteriaKey; //обновлять только по ключу
вот это работает!!!! Только в таком варианте
ADOTable1.Properties["Update Criteria"].Value:= adCriteriaKey; //с подключенным модулем ADODBXP
Но ведь это же чушь, а те кто не знаком с такими тонкостями, что делают? Это свойтсво должно выставляться как  то явно!
И еще какой модуль надо подключать для типа данных  adCriteriaKey

Конечно, спасибо sniknik, спас приложение, но вопрос остался :)


 
sniknik ©   (2005-07-19 18:20) [11]

> а те кто не знаком с такими тонкостями, что делают?
по идее читают справку... ;о)) /инет/ets.

> И еще какой модуль надо подключать для типа данных  adCriteriaKey
ADOInt в принципе, но это такаяже экспортированная библиотека как и ADODBXP. (т.е. в принципе неважно, самому тоже можно сэкспортировать)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.041 c
8-1113815283
Faraday
2005-04-18 13:08
2005.08.28
Текстура в OpenGL


4-1120974202
***_Diman_***
2005-07-10 09:43
2005.08.28
Проблемы перекодировки


3-1121249815
Stanislav
2005-07-13 14:16
2005.08.28
ADOCommand Асинхронное выполнение


9-1115313088
Кефир87
2005-05-05 21:11
2005.08.28
OpenGL грузится одна и та же текстура (?)


14-1123172076
Gerakl
2005-08-04 20:14
2005.08.28
Delphi2005





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский