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

Вниз

Динамическое добавление полей в ADOQuery.Fields   Найти похожие ветки 

 
ArhArhangel ©   (2005-12-10 20:37) [0]

Здравствуйте!
Подскажите пожулуйста как динамически в список Fields, компонента ADOQuery можно добавить поля таблицы базы данных  ?


 
Johnmen ©   (2005-12-12 09:23) [1]

ADOQuery.FieldDefs.AddFieldDef + F1
но перед этим внимательно прочитать описание ADOQuery.Fields.Add


 
ArhArhangel ©   (2005-12-14 11:26) [2]

Прочитал и то и другое, но так и не смог реализовать.. :-(


 
Johnmen ©   (2005-12-14 15:51) [3]

А скажи, зачем тебе это? Какая цель?


 
ArhArhangel ©   (2005-12-16 19:19) [4]

Хотел одну форму, с одним компонентом Query сделать универсальной для многих таблиц.
На этой форме надо чтобы в StringGrid имелось поле "Chek" в котором пользователь может выбирать галочками определенные строки..

Если поле Chek создать при проектировании, то тогда не будет видно остальных полей таблиц..
Вот и не знаю как во время выполнения программы добавить эти остальные поля в список Fields


 
Johnmen ©   (2005-12-19 12:23) [5]

1. Надо наоборот. Добавлять своё поле к имеющимся.
2. Изучить DB-Aware компонентя, напр.DBGrid, и никаких там StringGrid.
3. Сходить http://delphikingdom.ru/asp/viewitem.asp?catalogid=168#link3


 
ORMADA ©   (2005-12-19 12:58) [6]

а-ля

   //--- Переносим все поля из MainQuery в MainDataSet ---begin----------------
   for i := 0 to MainQuery.FieldCount - 1 do
     case MainQuery.Fields.Fields[i].DataType of

       ftAutoInc:
         begin
           with TAutoIncField.Create(MainDataSet) do
           begin
             FieldKind := fkData;
             ReadOnly := True;
             FieldName := MainQuery.Fields.Fields[i].FieldName;
             DataSet := MainDataSet;
             Name := DataSet.Name + "Fields" + IntToStr(i);
             MainQuery.FieldDefs.Add(name, ftAutoInc);
           end;
         end;
....


 
Slym ©   (2005-12-19 14:28) [7]

На вскидку...
var i:integer;
Field:TField;
begin
 DataSet.FieldDefs.Clear;
 DataSet.FieldDefs.Update;
 for i:=0 to DataSet.FieldDefs.Count-1 do
 begin
Field:=DataSet.FieldDefs[i].FieldClass.Create(DataSet);
DataSet.Fields.Add(Field);
 end;
//Добавляем свое поле
DataSet.Open;
end;


 
Slym ©   (2005-12-19 14:29) [8]

Забыл...
Field.FieldName:=Contract.FieldDefs[i].Name;


 
ArhArhangel ©   (2006-01-03 07:35) [9]

Всем огромнейшее спасбо :-)



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

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

Наверх




Память: 0.46 MB
Время: 0.039 c
6-1131478560
Opilki_Inside
2005-11-08 22:36
2006.02.26
WebBrowser и Temporary files


2-1139738562
Новичоккк
2006-02-12 13:02
2006.02.26
Результат работы консольного приложения


2-1139309466
anonymous-
2006-02-07 13:51
2006.02.26
shelllistview без zip папок


2-1139229210
webpauk
2006-02-06 15:33
2006.02.26
Описание структуры


2-1139723356
Seraphim
2006-02-12 08:49
2006.02.26
API





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