Форум: "Базы";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];
Вниз
Помогите с значениями по умолчанию в таблицах 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 вся ветка
Форум: "Базы";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c