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

Вниз

Много полей в таблице???   Найти похожие ветки 

 
Гость22   (2005-08-30 17:06) [0]

Есть таблица Парадокс. Когда пытаюсь ввести в поле (напр "ddd") значение, пишет, что такого поля нет. Хотя я знаю, что есть. Это поле 62-е по списку. Если ставлю тут же вместо "ddd" любое другое поле - нормально заносит в таблицу. В чем может быть проблема? Нигде не встречал, что в таблице Парадокс должно быть только 61-о поле.


 
Digitman ©   (2005-08-30 17:35) [1]

т.е. в ответ на попытку

SomeDataSet.FieldByName("ddd").Value := ...;

возникает исключение ?

а что говорит в ответ на

SomeDataSet.Fields[61].Value := ...;

?

и чему равно

SomeDataSet.Fields.Count

?


 
Гость22   (2005-08-30 17:56) [2]


> т.е. в ответ на попытку
> SomeDataSet.FieldByName("ddd").Value := ...;
> возникает исключение ?

Совершенно верно


> SomeDataSet.Fields[61].Value := ...;

Ничего не говорит - пропускает, но записи в поле нет.
Но, интересно - когда поставил
Table1.Fields[2].Value := ...;, почему-то записало в третье поле.


> SomeDataSet.Fields.Count

равно 71. Не знаю, почему.


 
stone ©   (2005-08-30 17:59) [3]


> Но, интересно - когда поставил
> Table1.Fields[2].Value := ...;, почему-то записало в третье
> поле.

Потому что счет начинается с 0.


 
Digitman ©   (2005-08-30 18:01) [4]

а что говорит Table1юFields[61].Name ?


> когда поставил
> Table1.Fields[2].Value := ...;, почему-то записало в третье
> поле


правильно записало.
индексация полей в списке начинается с нуля, а не с единицы


 
Гость22   (2005-08-30 18:10) [5]


> а что говорит Table1юFields[61].Name ?


"йцук" is not a valid component name.

Где "йцук", то что я заношу в поле.


 
Digitman ©   (2005-08-30 18:12) [6]

пардон, не Table1.Fields[61].Name, а Table1.Fields[61].FieldName

?


 
Гость22   (2005-08-30 18:20) [7]


> Table1.Fields[61].FieldName

??? Ничего не понимаю. Выдало имя поля, которое идет в списке полей под номером 55!
Но ведь и общее число полей показало 71, хотя их 62!


 
Digitman ©   (2005-08-30 18:36) [8]

не путай индекс объекта TField в списке DataSet.Fields - он НЕ обязан соответствовать порядковому номеру поля в структуре подлежащего таблицы или запроса

порядковый номер поля, для доступа к которому был создан объект TField, м.б. получен чтением св-ва TField.FieldNo (нумерация здесь начинается с единицы)

проверь :

with Table1 do
for i:= 0 to Fields.Count - 1 do
 begin
  with Fields[i] do
  Memo1.Lines.Add(Format("Field index:%d FieldNo:%d FieldName:%s DisplayName:%s", [i, FieldNo, FieldName, DisplayName]));
 end;


 
Гость22   (2005-08-30 19:31) [9]

проверил.
FieldName всегда совпадает с DisplayName
а Field index меньше на единицу от FieldNo. Всего FieldNo - 62 (и Field index, соответсвенно - 61) Вроде так должно и быть?


 
Гость22   (2005-08-30 20:12) [10]

извиняюсь. То что выше написал - проверил отдельно от приложения.
Но когда проверил в приложении, получился какой-то бред!
Есть поля, у которых FieldNo равен -1 (насколько я понял - это LookUp поля). Но почему не показывает поля "ddd"?


 
Digitman ©   (2005-08-31 09:25) [11]

ты вообще-то как формировал список объектов TFields - в дизайн-тайм или в ран-тайм ?

если в в дизайн-тайм - "ручками" добавлял по одному или ничего явно не добавлял, а доверил это эксперту ?

судя по  "FieldNo равен -1" поля ты добавлял "ручками", явно указывая их FieldKind ..

просмотри в дизайнере все поля в списке и найди среди них поле, имеющее FieldKind = fkData и FieldName = "ddd", если не найдешь, то в ран-тайм оно уж и подавно не найдется



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

Форум: "Начинающим";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.029 c
4-1123768084
chili
2005-08-11 17:48
2005.10.09
Kак мне из dll запустить внешнию программу?


14-1126494834
Андрей Николаевич
2005-09-12 07:13
2005.10.09
СисАдмин "вешает лапшу на уши" или я не прав?


2-1125649209
kyn66
2005-09-02 12:20
2005.10.09
Как заменить искомый компонент 1 раз?


3-1124967457
sashuly
2005-08-25 14:57
2005.10.09
ADOQuery или ADOTable


14-1127135232
Danilka
2005-09-19 17:07
2005.10.09
Ай да правда.ру! :)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский