-
Подскажите пожалуйста как мне в дельфи7 добавить поля для готовой базы данных сделанной в Access. То что в поиске нашел в гугле не работает :(
-
например сделал этот код на кнопку и у меня ошибка выскакивает: Project Evolution.exe raised exception class EDatabaseError with message 'ADOT: Field 'CO_Name' not found'. Process stopped. Use Step or Run to continue.
procedure TGeneralForm.Button1Click(Sender: TObject);
var
T: TStringField;
begin
DataM.ADOT.Close;
T:= TStringField.Create(Self);
T.FieldName := 'CO_NAME';
T.Name := DataM.ADOT.Name + T.FieldName;
T.Index := DataM.ADOT.FieldCount;
T.DataSet := DataM.ADOT;
DataM.ADOT.FieldDefs.UpDate;
DataM.ADOT.Open;
end;
-
выскакиват верно.
потому что нет такого поля в таблице.
-
А как сделать чтобы появилось такое поле новое и как его потом удалить? Надо чтобы в Access хранилось это поле какое то время даже когда прога не работает. :(
-
если его удалить, то оно не будет храниться в акцесс какое-то время, даже когда прога не работает
-
Дак это понятно что небудет, я это понимаю. Дельный совет то есть или будем синтаксисом русского языка игратся? :(
-
alter table add fieldname fieldtype
-
я непонял что сделать надо! толи заменить fieldname на fieldtype толи чето добавить???
-
последний вариант.
"толи чето добавить"
-
> [7] Neiron © (26.10.11 23:27)
> я непонял что сделать надо!
Читай справку по SQL на предмет ALTER TABLE.
-
Добавил но все равно неработает:
procedure TGeneralForm.Button1Click(Sender: TObject);
var
T: TStringField;
begin
DataM.ADOT.Close;
T:= TStringField.Create(Self);
T.FieldName := 'CO_NAME';
T.Name := DataM.ADOT.Name + T.FieldName;
T.Index := DataM.ADOT.FieldCount;
T.DataSet := DataM.ADOT;
DataM.ADOT.FieldDefs.UpDate;
DataM.ADOT.Fields.Add(T);
DataM.ADOT.Open;
end;
-
Мне SQL ненужен, можно как то без него?
-
не то добавил.
я имел ввиду мозг.
-
> [11] Neiron © (26.10.11 23:49)
> Мне SQL ненужен, можно как то без него?
Коран запрещает?
-
итак мозги взорватся могут как можно стока помнить всякого кода, SQL еще тут всякий. Непонимаю как профессиональные программисты помнят стока, надо быть гением прямо каким то иначе сидишь просто книги без конца листаешь и читаешь, и читаешь, а программа допустим срок имеет по времени написания, так никогда неуспеть сделать все как надо. :(
-
> SQL еще тут всякий
Вот как раз SQL тут самый что ни на есть "невсякий"!
А вот TTable и его "наследник" TADOTable именно всякая ненужная хрень.
-
Вы хотите сказать что TTable и его наследник TADOTable не упрощают работу с базами данных? А если я изучу SQL я смогу с нуля создать базу данных быстро и так чтобы на другом компе с виндовс хр и виндовс 7 она работала корректно?
-
> Вы хотите сказать что TTable и его наследник TADOTable не
> упрощают работу с базами данных?
Упрощают, конечно. Но только на первый взгляд, в простых программах. А вот когда начнут возникать подобные проблемы, то...
> А если я изучу SQL я смогу с нуля создать базу данных быстро
> и так чтобы на другом компе с виндовс хр и виндовс 7 она
> работала корректно?
Именно так. И даже на компе с другими ОС. SQL от ОС никак не зависит.
-
Спасибо, пойду качать книгу и читать завтра начну :)
-
> [18] Neiron © (27.10.11 00:16)
> Спасибо, пойду качать книгу и читать завтра начну :)
Раз ты выбрал Аксес, то пользуйся TADODataSet, TADOCommand. SQL читай соответственно об Microsoft Jet Database Engine. Сейчас скажут: лучше взять сразу MS SQL, есть бесплатная версия. Оно и лучше будет.