Главная страница
    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.041 c
2-1139723356
Seraphim
2006-02-12 08:49
2006.02.26
API


15-1139262214
Knight
2006-02-07 00:43
2006.02.26
Какой-то фонд "Юкос" предлагает постоить...


1-1138108043
WebSQLNeeder
2006-01-24 16:07
2006.02.26
Многострочные записи в ValEdit


2-1139610999
Child
2006-02-11 01:36
2006.02.26
Почему когда вписываю в uses QStdCtrls и QCheckLst, то перестаёт


2-1139755166
~Intel~
2006-02-12 17:39
2006.02.26
Шифрование





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