Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

WideString actual: Integer - Почему   Найти похожие ветки 

 
alex-drob   (2005-06-01 23:44) [0]

Есть две таблицы, одна отображается на экране в DBGrid и в ней есть поле lookup типа String. При выборе в нём значения, в другое поле должно занестись в id второй таблицы, в обоих таблицах поля типа integer. При выполнении ADODataSet2.activate:=true; происходит ошибка WideString actual: Integer. Если в первой таблице поменять тип поля id на String то всё работает. В чём ошибка?


 
Reindeer Moss Eater ©   (2005-06-02 00:08) [1]

В статически созданных экземплярях полей TField


 
alex-drob   (2005-06-02 00:16) [2]


> ADODataSet2

ADODataSet1

В базе данных


 
Reindeer Moss Eater ©   (2005-06-02 00:19) [3]

В базе данных

А я и говорил про БД, а не про БТР.


 
alex-drob   (2005-06-02 00:26) [4]


> Reindeer Moss Eater ©   (02.06.05 00:08) [1]

Я не понял о чем вы.


 
Reindeer Moss Eater ©   (2005-06-02 00:31) [5]

В чем ошибка был вопрос.
Ответ:
Ошибка в экземплярах полей TField, созданных статически в design time.
Все они получают конкретный тип в время создания.

Одно из них получило тип WideString.
В то время как в БД это поле Integer;


 
alex-drob   (2005-06-02 00:32) [6]

А как это можно исправить?


 
Reindeer Moss Eater ©   (2005-06-02 00:37) [7]

Сделать оба типа одинаковыми.


 
alex-drob   (2005-06-02 00:38) [8]

А как? В таблицах они одинаковы.


 
Reindeer Moss Eater ©   (2005-06-02 00:40) [9]

Они разные.
У экземпляра TField и у физического поля в таблице БД.


 
alex-drob   (2005-06-02 00:42) [10]

А как можно изменить тип экземпляра TField?


 
Reindeer Moss Eater ©   (2005-06-02 00:44) [11]

Мышкой.


 
alex-drob   (2005-06-02 00:48) [12]


> Мышкой.

Ну до этого я сам додумался. А вот где мышкой шёлкнуть не знаю. Если в свойстве FieldDefs, то там типы у одного поля ftinteger а у другого ftautoinc.


 
Reindeer Moss Eater ©   (2005-06-02 00:54) [13]

Щелкай мышкой туда, где поле ftWideString


 
alex-drob   (2005-06-02 00:59) [14]

Такого поля нет.


 
Reindeer Moss Eater ©   (2005-06-02 01:00) [15]

Значит и ошибки уже нет.


 
alex-drob   (2005-06-02 01:05) [16]

Ошибка есть.


 
Reindeer Moss Eater ©   (2005-06-02 01:07) [17]

Ошибка есть потому что читай все сначала.


 
alex-drob   (2005-06-02 01:24) [18]

Непомогает.

Поле первой таблицы integer
Поле второй таблицы счётчик (пробывал integer)
Поле экземплятора 1 таблицы ftinteger
Поле экземплятора 2 таблицы ftautoinc

Ошибка: Type mismatch for field "pred", expecting: WideString actual: Integer.
("pred" поле в первой таблице)

lookup:
name = predmet
component = ADODataSet1predmet
Type = String
Size = 15
field type = lookup
key fields = pred  (integer)
dataset = ADODataSet2
lookup keys = id (autoinc)
Result field = name (string 15)


 
Reindeer Moss Eater ©   (2005-06-02 01:45) [19]

Еще раз и в последний раз:
Читай все сначала.
Или сразу с поста номер пять.


 
alex-drob   (2005-06-02 23:04) [20]

Не чего не получается, переделал всё заново, таже ошибка. Единственное поле для которого я не могу найти значение типа TFild это само поле lookup. Но у него тип String оно не должно влиять.


 
ANB ©   (2005-06-02 23:34) [21]

Значит не все или неправильно указал в настройках локапового поля.


 
alex-drob   (2005-06-02 23:45) [22]

Type в lookup поле это тип поля который будет отображён в DBGrid там хоть string хоть integer ставлю работает одинаково.

Если я правельно понял свойства lookup поля:

key fields - поле в которое в первую таблицу будет внесено значение со второй (integer)
dataset - это dataset второй таблицы
lookup keys - поле второй таблицы которое будет вставлено в первую (integer)
Result field - поле второй таблицы, текст которого будет в lookup поле lookup keys

то всё должно работать ведь type поля key fields = type поля lookup keys


 
alex-drob   (2005-06-03 00:33) [23]

Всё заработало. Так и не понял в чём ошибка! Несколько раз всё переделал и работает.

Спасибо всем.



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

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.051 c
3-1118218342
Леонид
2005-06-08 12:12
2005.07.18
Ошибка при выполнении SQL запроса


9-1112803576
Sis3
2005-04-06 20:06
2005.07.18
Как распечатать картинку созданную в OpenGl


1-1120195196
Kot Andrei
2005-07-01 09:19
2005.07.18
Форма создана or нет


9-1112248894
WondeRu
2005-03-31 10:01
2005.07.18
Нашел ресурс с исходниками игр


14-1119792617
syte_ser78
2005-06-26 17:30
2005.07.18
как зовется програмка?