Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

Autoincrement поле в Paradox   Найти похожие ветки 

 
Philosoph   (2004-07-06 17:29) [0]

Есть таблица в Paradox"е. У неё Autoincrement поле. Как с помощью процедуры TDataSet.AppendRecord записать в добавляемую строку новое значение? Или это невозможно?


 
Соловьев ©   (2004-07-06 17:31) [1]


> Autoincrement

Auto - само
increment - увеличивается


> записать...новое значение?

не находите "Парадокса"? :)


 
bushmen ©   (2004-07-06 17:31) [2]

А что, разве DataSet1.Append не работает?


 
Reindeer Moss Eater ©   (2004-07-06 17:31) [3]

Возможно.
Но не надо указывать само поле в списке для AppendRecord


 
Philosoph   (2004-07-06 17:33) [4]

to Reindeer Moss Eater
Пробую - не выходит. Всё равно процедура пытаеться туда писать значение, которое должно записываться в следующее поле.


 
bushmen ©   (2004-07-06 17:34) [5]

> Philosoph   (06.07.04 17:33) [4]

Покажи, как пытаешься! Потужься еще - вдруг поможет ! :)


 
Reindeer Moss Eater ©   (2004-07-06 17:35) [6]

Пробую - не выходит.
Неправильно пробуешь.

Всё равно процедура пытаеться туда писать значение
Какая интересная процедура. Сама узнает имя этого поля. Наверное соединившись с космическим разумом. Не иначе.


 
Соловьев ©   (2004-07-06 17:35) [7]

YourDataSet.AppendRecord([Null,Value1, Value2]);


 
Philosoph   (2004-07-06 17:36) [8]

Table1.AppendRecord ([null, edit1.text, edit2.text])
Поля всего четыре.
Autoincrement - первое.


 
Соловьев ©   (2004-07-06 17:36) [9]

где NULL - твое инкрементное поле


 
Philosoph   (2004-07-06 17:37) [10]

to Соловьев
Не-а. Ругается на невозможность присвоить Autoincrement"у NULL


 
Соловьев ©   (2004-07-06 17:38) [11]

ну убери его:)


 
Курдль ©   (2004-07-06 17:38) [12]


> Philosoph   (06.07.04 17:33) [4]

Да задвинь ты эту идею. В дальнейшем она почти тебе не пригодится.
Пиши последовательно:

DataSet.Append;
DataSet.FieldByName("FIELD1_NAME").AsInteger := 1;
DataSet.FieldByName("FIELD2_NAME").AsFloat := 2.2;
DataSet.FieldByName("FIELD3_NAME").AsString := "3";
...
DataSet.FieldByName("FIELDN_NAME").AsInteger := N;
DataSet.Post;


И это позволит избежать многих ошибок.


 
Philosoph   (2004-07-06 17:40) [13]

to Курдль
Похоже, так и сделаю. Хотя жаль. Всё равно спасибо.


 
Reindeer Moss Eater ©   (2004-07-06 17:41) [14]

Сделай поле четвертым в списке полей.
Указывай три элемента при AppendRecord


 
Philosoph   (2004-07-06 17:41) [15]

to Соловьев

> Philosoph   (06.07.04 17:36) [8]
> Table1.AppendRecord ([null, edit1.text, edit2.text])
> Поля всего четыре.
> Autoincrement - первое.


 
Соловьев ©   (2004-07-06 17:43) [16]


> Table1.AppendRecord ([null, edit1.text, edit2.text])

Table1.AppendRecord ([edit1.text, edit2.text])


 
Philosoph   (2004-07-06 17:43) [17]


> Reindeer Moss Eater ©   (06.07.04 17:41) [14]
> Сделай поле четвертым в списке полей.
> Указывай три элемента при AppendRecord

Плохая идея. В парадоксе ключевое поле должно стоять первым. А оно у меня ключевое.


 
Philosoph   (2004-07-06 17:44) [18]


> Соловьев ©   (06.07.04 17:43) [16]
>
> > Table1.AppendRecord ([null, edit1.text, edit2.text])
>
> Table1.AppendRecord ([edit1.text, edit2.text])

???????
Поля всего четыре.


 
Соловьев ©   (2004-07-06 17:44) [19]


> В парадоксе ключевое поле должно стоять первым.

откуда такая информация?


 
Philosoph   (2004-07-06 17:46) [20]

to Соловьев
Database Desktop Help Topic


 
Соловьев ©   (2004-07-06 17:46) [21]

Table1.AppendRecord ([null,null,edit1.text, edit2.text])
и еще
дабл клик по табле, есть поля?


 
Reindeer Moss Eater ©   (2004-07-06 17:46) [22]

Плохая идея. В парадоксе ключевое поле должно стоять первым. А оно у меня ключевое.

Идея никаким боком к таблице парадокса не имеет отношения.
Так же как и AppendRecord относится к датасету, а не к физической таблице


 
Philosoph   (2004-07-06 17:48) [23]


> Соловьев ©   (06.07.04 17:46) [21]
> Table1.AppendRecord ([null,null,edit1.text, edit2.text])
> и еще
> дабл клик по табле, есть поля?


?????????????????????????
Поля-то есть, а вот записей в них... Так откуда ж  им взяться если процеДУРА не срабатывает и даёт ошибку?


 
Соловьев ©   (2004-07-06 17:50) [24]


> Database Desktop Help Topic

выбрось его. localsql.hlp - рулез


 
Philosoph   (2004-07-06 17:51) [25]


> Идея никаким боком к таблице парадокса не имеет отношения.
> Так же как и AppendRecord относится к датасету, а не к физической
> таблице


Ага, а свойство DataBase Name у TTable и настройка в BDE этого алиаса тоже не важна? Или менять местами поля у ДатаСета? Ну это никак не рациональное решение.


 
Reindeer Moss Eater ©   (2004-07-06 17:52) [26]

Ну это никак не рациональное решение.

Чем конкретно не рациональное?


 
Соловьев ©   (2004-07-06 17:52) [27]


> Так откуда ж  им взяться если процеДУРА не срабатывает и
> даёт ошибку?

1. автоинкремент может стоять где ему заблагороруссудится
2. удали нафиг эти поля.
и пробуй Appendrecord


 
Philosoph   (2004-07-06 17:53) [28]


> Соловьев ©   (06.07.04 17:50) [24]
>
> > Database Desktop Help Topic
>
> выбрось его. localsql.hlp - рулез

Не обижайтесь, но создайте таблицу Парадокса и ключевым полем в конце и бросьте её на deepgrey@bigmir.net . Боюсь у Вас это не выйдет.


 
Соловьев ©   (2004-07-06 17:54) [29]


> бросьте её на deepgrey@bigmir.net

ушла :)


 
Reindeer Moss Eater ©   (2004-07-06 17:55) [30]

Философ, а от физической таблицы абстрагироваться не может.
Забудь нафик о физической структуре файла таблицы.
Тебе про список TFields у Датасета толкуют уже полчаса.



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

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.037 c
1-1089919209
Vovan
2004-07-15 23:20
2004.08.01
RichTextBox


9-1081717014
Werwolf
2004-04-12 00:56
2004.08.01
Продолжение темы "Пиратов бесконечности"


1-1090298570
cvg
2004-07-20 08:42
2004.08.01
Как все-таки выйти из цикла, если форма не в фокусе?


1-1090238785
artem123
2004-07-19 16:06
2004.08.01
Как найти компонент на форме незная имени..


14-1089302163
OSokin
2004-07-08 19:56
2004.08.01
Мастера Дельфи