Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
ВнизВвязался... Найти похожие ветки
← →
vasIZmax © (2007-02-21 22:44) [0]Подскажите, плиз, как оформить код. Смысл такой: есть БД
первое поле - номер_операции,
второе - дата,
третье - описание, и т.д.
Никак не могу организовать чтобы когда юзер нажимает Append, номер сразу автоматом увеличивался на единицу.
Первый день сегодня с БД работаю, поэтому из того что накопал понял что код приблизительно должен быть такой(имхо):if form1.DBNavigator1.BtnClick(nbinsert)=нажато then
form1.Table1.IndexFields[0].Text:=inttostr(form1.Table1.RecordCount+1);
Подскажите...)), как это сделать?...
← →
Johnmen © (2007-02-21 22:54) [1]А как ты думаешь, студенты в первый же день, как увидели скальпель, тело режут?
> как это сделать?...
Или тебе букварь сюда скопи-пастить?
← →
Zeqfreed © (2007-02-21 22:59) [2]
update table set field = field + 1;
?
← →
vasIZmax © (2007-02-21 23:09) [3]
> Zeqfreed © (21.02.07 22:59) [2]
этот код почему-то не работает (у меня). Просто задча такая: чтобы юзер не в таблице вводил данные, а при помощи компоненнтов, т.е.
перевожу на русский:
для того чтобы во второе поле вставлял дату я такой код использовал:form1.Table1.Fields[1].Text:=datetostr(form1.DateTimePicker1.DateTime);
а теперь мне надо, чтобы когда юзер нажимал на навигаторе "добавить", то автоматом в таблице вводился следующий номер. вот.
ЗЫ. если надо еще раз объянить, я подробнее опишу)))
← →
Petr V. Abramov © (2007-02-21 23:14) [4]а если юзер нажмет "не хочу дальше вводить"? что будет с номером? при многоюзерской работе-то?
никто еще не помер от того, что номер присваиватеся при сохранении.
← →
vasIZmax © (2007-02-21 23:22) [5]
> Petr V. Abramov © (21.02.07 23:14) [4]
я ж говорю что БД занимаюсь только... э-э-э... 5 часов...)))(ну, не работал я раньше с БД, поэтому и туплю(((()... и работа рассчита не для многоюзерской работы, а для одного юзера...
для номера я поставил "обязательный ввод", если не введет номер, то ошибка появляется.
Я читал, что ошибки перехватывать и пр., ну а нафик это надо, если можно автоматом оформить ввод номера. можно ли?
← →
RASkov (2007-02-21 23:36) [6]> [5] vasIZmax © (21.02.07 23:22)
Какая БД? Сделай поле "первое поле - номер_операции," AutoIncrement...
← →
vasIZmax © (2007-02-21 23:53) [7]
> RASkov (21.02.07 23:36) [6]
Я сделал иначе (а может и тоже самое))). Вообщем открыл Database Desktop. Открыл(restructure) нужную БД, и в type поставил "+", а потом в secondary index->define добавил и переместил number (первое поле). Потом добавил еще nom (ну попросило добавить я и добавил))))). В index options отметил галкой unique. сохранил и заработало))))))).
Но это чисто на интутивном уровне сделал без понимания процесса (теперь основательно буду БД учить))))).
И такой вот вопросик если проект в котором я использую (т.е. открыт код в дельфе, но не запущен(!)), почему то пытаюсь открыть БД через Database Desktop, но пишет, что БД занята. В чем причина? Или просто тривиальное решение такой проблемы: закрыть проект в дельфе не помогает?
ЗЫ. это последний вопрос))))... и буду учить..., что бы не постить простых задач))))))
← →
ЮЮ © (2007-02-22 04:19) [8]
> т.е. открыт код в дельфе, но не запущен(!)),
Потому что используешь TTable, которые у тебя открыты и в Disign-е
> код в дельфе, но не запущен
Откуда же тогда в гриде данные видны. Код в дельфе уже "запущен". Не запущен - если в блокноие :)
← →
RASkov (2007-02-22 10:01) [9]> но пишет, что БД занята. В чем причина?
Delphi такой же "пользователь"(в контексте БД) как и ты, и компоненты, такие как TTable, физически открывают таблицы БД(свойство Active=True, при правильно выставленных других свойст) даже в дизайнтайме. А для работы Database Desktop с таблицами необходим монопольный режим.
← →
Megabyte © (2007-02-22 10:06) [10]Я так понимаю, у тебя БД Парадокс.
тип поля + это и есть тип поля Автоинкрементный, т.е. автоматически увеличивается на 1 при вводе данных.
Совет: как можно скорее перелезай на другую БД, например Access(Парадокс слишком старый), как только хоть немного вникнешь в азы БД.
← →
vasIZmax © (2007-02-22 14:01) [11]
> Megabyte © (22.02.07 10:06) [10]
ага, Парадокс юзал.
Но почему-то не хочет создаваться Access (в общем Alias is not type of MSACCESS). И видно, че-то отключил(?) че в BDEAdmin-е никуда не впускает - повсюду ерроры(((
Итого: спасибо всем кто подсказал в решении проблемы))))))))
ЗЫ. Читаю Сорокина "Delphi разработка БД". или может есть получше?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.046 c