Вниз
Скачать: CL | DM;

Помогите с значениями по умолчанию в таблицах Paradox   Найти похожие ветки 

← →
VladTen   (2002-12-26 08:23) [0]

Подскажите пожалуйста, как добавить или изменить в таблице Paradox у поля ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ, МИНИМАЛЬНОЕ, И МАКСИМАЛЬНОЕ ЗНАЧЕНИЕ которое он может принимать. (Которые можно выставить в "DataBase Desktop").


← →
Geka   (2002-12-26 08:28) [1]

alter table mogify(FIELD_NAME default 0)
Почитай про это...


← →
VladTen   (2002-12-26 08:39) [2]

Что-то я и так и сяк, и mogify заменил на modify. (Ну никак ничего не получается).


← →
Geka   (2002-12-26 08:59) [3]

Я опечаталась конечно modify(возможно в парадокс это и не работает, но я вроде(мне так казалось) делала). Попробуй через Database Desktop, в комплекте delphi.


← →
VladTen   (2002-12-26 09:18) [4]

Вообще-то мне нужно все это программно добиться.
А если честно, то через "alter table" мне кажется можно только добавлять поля в базу (иного предназначения я просто никогда нигде не встречал).


← →
Geka   (2002-12-26 09:28) [5]

Я сейчас с Оракл работаю, там все можно. Но я вроде пробовала и в парадоксе. Посмотри документацию по SQL. Там есть
alter table add(constraint <имя ограничения>)
alter table drop()

посмосри такие ключевые слова как check, constraint


← →
Севостьянов Игорь ©   (2002-12-26 11:09) [6]

Насколько я помню с помощью Local SQL невозможно такое сделать, а вот в TField default value можно установить так:

TField.DefaultExpression

Specifies an SQL expression that is assigned to the field if the user does not provide a value.

property DefaultExpression: String;

Description

Set DefaultExpression to provide a default value for a field. DefaultExpression can be any valid SQL value expression that does not refer to field values. If the expression contains literals other than numeric values, they must appear in quotes. For example, a default value of noon for a time field would be

"12:00:00"

including the quotes around the literal value.


← →
VladTen   (2002-12-27 03:23) [7]

А еще кто нибудь сможет дать дельный совет???


← →
VAleksey ©   (2002-12-27 06:24) [8]

Ну какой же совет - то дать ? :(
в проекте ставь Uses BDE;
Смотри функцию dbiDoRestructure
PS
Описание функции в файле BDE32.hlp


← →
Севостьянов Игорь ©   (2002-12-27 10:46) [9]

Н-да... Отвык я от BDE и Paradox...

VAleksey © (27.12.02 06:24) дело говорит

procedure fDbiDoRestructure(Tbl: TTable; Field: TField; MinVal, MaxVal, DefVal: pLongint; Required: Boolean);
var
hDb: hDbiDb;
TblDesc: CRTblDesc;
VChk: pVChkDesc;
Dir: string;
NumVChks: Word;
OpType: CROpType;
begin
NumVChks := 0;
SetLength(Dir, dbiMaxNameLen + 1);
Check(DbiGetDirectory(Tbl.DBHandle, False, PChar(Dir)));
SetLength(Dir, StrLen(PChar(Dir)));
VChk := AllocMem(sizeof(VChkDesc));
try
FillChar(TblDesc, sizeof(CRTblDesc), #0);

VChk.iFldNum := Field.Index + 1;
Tbl.DisableControls;
Tbl.Close;
Check(DbiOpenDatabase(nil, nil, dbiReadWrite, dbiOpenExcl, nil, 0, nil, nil,
hDb));
Check(DbiSetDirectory(hDb, PChar(Dir)));
with VChk^ do begin
bRequired := Required;
if (MinVal <> nil) then begin
Inc(NumVChks);
bHasMinVal := True;
move(MinVal^, aMinVal, sizeof(MinVal^));

end
else
bHasMinVal := False;
if (MaxVal <> nil) then begin
Inc(NumVChks);
bHasMaxVal := True;
move(MaxVal^, aMaxVal, sizeof(MaxVal^));
end
else
bHasMaxVal := False;
if (DefVal <> nil) then begin
Inc(NumVChks);
bHasDefVal := True;
move(DefVal^, aDefVal, sizeof(DefVal^));
end

else
bHasDefVal := False;
end;
TblDesc.iValChkCount := NumVChks;
TblDesc.pVChkDesc := VChk;
OpType := crADD;
TblDesc.pecrValChkOp := @OpType;
StrPCopy(TblDesc.szTblName, Tbl.TableName);
StrCopy(TblDesc.szTblType, szParadox);
Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, False));
finally
Check(DbiCloseDatabase(hDb));
FreeMem(VChk, sizeof(VChkDesc));

Tbl.EnableControls;
Tbl.Open;
end;
end;



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
14-62726
Mr.Ice
2003-01-03 21:58
2003.01.20
как обрезать переменную


14-62742
Anatoly Podgoretsky
2003-01-03 07:42
2003.01.20
Именинники 3 января


4-62911
krammer
2002-12-03 20:03
2003.01.20
Как узнать размер экрана (разрешение) и длину видео-файла?


1-62541
БурЖуй
2003-01-11 00:37
2003.01.20
компонеты Exсel


14-62815
Rouse_
2003-01-01 12:06
2003.01.20
Вот такие мы :))




   Наверх