Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить значение автоинкрементного поля? [D7, Paradox]


Страницы:   1 2

Algiz ©   (2005-06-16 11:30:00) 

Подскажите, пожалуйста, как программно получить значение автоинкрементного поля?


Algiz   (2005-06-16 14:03:00) [21]

to Anatoly Podgoretsky ©   (16.06.05 14:00)

А что это не правильно? Это выше подсказали...


Sergey13   (2005-06-16 14:02:00) [22]

CachedUpdates какой у Table1 ?


Anatoly Podgoretsky   (2005-06-16 14:00:00) [23]

А этому frmMain.Table1.Last;
кто тебя научил?


Algiz   (2005-06-16 13:53:00) [24]

Все бы ничего, но мне к вечеру сегодня надо её доделать и сдать, а что и как доделывать даже и не знаю..


Algiz   (2005-06-16 13:46:00) [25]

нет, не висит.


Sergey13   (2005-06-16 13:42:00) [26]

А обработчиков на Table1 никаких не висит?


Algiz   (2005-06-16 13:38:00) [27]

Между ничего нету. Num - AutoInc, j - integer. Пробовал, все равно не выходит.


Sergey13   (2005-06-16 13:27:00) [28]

2 [11] Algiz ©   (16.06.05 13:18)
Если между
frmMain.Table1.Post;
И
frmMain.Table1.Last;
Ничего больше нет, то второе лишнее. Где то с типами напортачил, ИМХО. Какого типа Num  в датасете? Какого типа j?
Я бы все таки посоветовал явное преобразование FieldByName('Num').asInteger. А так, вроде криминала не видно.


Algiz   (2005-06-16 13:18:00) [29]

Часть кода процедуры.

frmMain.Table1.Append; // Добавление новой записи в конец таблицы
// Общие данные
frmMain.Table1.FieldByName('Fam').AsString:=Edit1.Text;
frmMain.Table1.FieldByName('Fam').AsString:=Edit1.Text;
frmMain.Table1.FieldByName('Name').AsString:=Edit2.Text;
frmMain.Table1.FieldByName('Otch').AsString:=Edit3.Text;
frmMain.Table1.FieldByName('Komnata').AsInteger:=StrToInt(Edit4.Text);
frmMain.Table1.FieldByName('Floor').AsString:=ComboBox1.Text;
frmMain.Table1.FieldByName('DataZ').AsString:=DateToStr(DateTimePicker1.DateTime);
frmMain.Table1.FieldByName('Lgota').AsString:=Edit5.Text;
frmMain.Table1.FieldByName('DataV').AsString:=DateToStr(DateTimePicker2.DateTime);
frmMain.Table1.Post;

frmMain.Table1.Last;
j := frmMain.Table1Num.Value;
frmMain.Label4.Caption:= IntToStr(j);


Dummes   (2005-06-16 12:20:00) [30]

Значит Ваш aut объявлен не правильно!
(aut:=Table1.FieldByName('Num').Value;)

EConvertError with message ''' is not a valid integer value'.

Протестировать можно так:
var
i:Integerl;
...
DisbleControls;
while not TAble1.eof do
begin
inc(i);
TAble1.next
end;

EnableControls;


Sergey13   (2005-06-16 12:18:00) [31]

2[8] Algiz ©   (16.06.05 12:12)
А как ты вставляешь запись можно увидеть? Ты наверное Post не сделал.


Algiz   (2005-06-16 12:12:00) [32]

to Dummes   (16.06.05 12:02)

Попробовал как ты посоветовал. Вылетает такая ошибка.
Project Project1.exe raised exception class EConvertError with message ''' is not a valid integer value'.

С aut:=Table1.FieldByName('Num').asInteger; аналогичная ситуация.


Sergey13   (2005-06-16 12:09:00) [33]

2[6] Dummes   (16.06.05 12:08)
>Ошибка синтаксиса:

Это не синтаксис. Это консерватория. 8-)


Dummes   (2005-06-16 12:08:00) [34]

Ошибка синтаксиса:
..ORDER BY YY DESC


Dummes   (2005-06-16 12:03:00) [35]

...Или запросом
select*...
Order By desk


Sergey13   (2005-06-16 12:02:00) [36]

2[2] Algiz ©   (16.06.05 11:56)
А как не получается то? Ошибка что ли? Какая?
Надо спозиционироваться на эту запись и сделать
aut:=Table1.FieldByName('Num'). asInteger;

Или запросом
select max(Num) as max_num from table_name
и прочитать значение.
aut:=Query1.FieldByName('max_Num'). asInteger;


Dummes   (2005-06-16 12:02:00) [37]

Table1.Last;
nm :=Table1Num.Value;


Algiz   (2005-06-16 11:56:00) [38]

А можно написать как это долно выглядеть?...

Пробовал так, но что то не получается((
aut:=Table1.FieldByName('Num').Value;


Sergey13   (2005-06-16 11:34:00) [39]

Прочитать его после вставки.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо