Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2009, 21:07   #1
mixer94
Пользователь
 
Аватар для mixer94
 
Регистрация: 07.06.2009
Сообщений: 40
По умолчанию Идентификатор в DBF

Если я не ошибаюсь, в бд DBF имеется поле-идентификатор, которое создаётся и заполняется без участия программиста. Это поле можно увидеть в Database Desktop. Можно ли работать с этим полем с помощью SQL запросов, и как это сделать?
К примеру:
SELECT * FROM my.dbf WHERE >ID<='...'
mixer94 вне форума Ответить с цитированием
Старый 13.07.2009, 22:48   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я не знаю, что Вы там видите в Database Desktop,
но, если речь идёт о идентификаторе, который обозначает версию DBF файла (это первый байт файла DBF), то из SQL к нему доступ получить нельзя.
И никаких других "ID" в DBF файле само по себе не появляется...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.07.2009, 11:58   #3
mixer94
Пользователь
 
Аватар для mixer94
 
Регистрация: 07.06.2009
Сообщений: 40
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
я не знаю, что Вы там видите в Database Desktop,
но, если речь идёт о идентификаторе, который обозначает версию DBF файла (это первый байт файла DBF), то из SQL к нему доступ получить нельзя.
И никаких других "ID" в DBF файле само по себе не появляется...
Вот пример:

При попытке изменить эти поля в статусе прописывается что их менять нельзя...
mixer94 вне форума Ответить с цитированием
Старый 14.07.2009, 12:19   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от mixer94 Посмотреть сообщение
При попытке изменить эти поля в статусе прописывается что их менять нельзя...
это поле фиктивное - исключительно для нумерации строк при отображении в чем_вы_там_это_смотрите
в самой БД его нет
soleil@mmc вне форума Ответить с цитированием
Старый 14.07.2009, 12:26   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
mixer94
А что тебе нужно? Автоинкрементное поле?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.07.2009, 12:57   #6
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

если я правильно понял, то возможно вы имеете в виду rowid - идентификатор строки таблицы, который задает БД, тогда к ней обращаться так:
Код:
  SELECT * FROM my.dbf WHERE rowid = :rowid
вообще лучше заводить свой id...
©Учиться, учиться и еще раз учиться!

Последний раз редактировалось quit; 14.07.2009 в 12:59.
quit вне форума Ответить с цитированием
Старый 14.07.2009, 13:03   #7
mixer94
Пользователь
 
Аватар для mixer94
 
Регистрация: 07.06.2009
Сообщений: 40
По умолчанию

значение этих полей сохраняется при закрытии/открытии базы...
ну ладно, если нельзя то подскажите как сделать автоинкрементное поле самим? можно ли это сделать с dbf....
mixer94 вне форума Ответить с цитированием
Старый 14.07.2009, 13:06   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
можно ли это сделать с dbf....
Если речь идет о DBF 2 которым рулит DataBase Desctop то там автоинкремент не придуман. Если очень принципиально работать с BDE то возьми тип Paradox вместо DBF.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.07.2009, 13:13   #9
mixer94
Пользователь
 
Аватар для mixer94
 
Регистрация: 07.06.2009
Сообщений: 40
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Если речь идет о DBF 2 которым рулит DataBase Desctop то там автоинкремент не придуман. Если очень принципиально работать с BDE то возьми тип Paradox вместо DBF.
Ну это мне понятно, просто я хотел чтоб без алиасов было....
С псевдонимами мне не оч нравится работать (с paradox у меня часто появлялись всяческие ошибки)
mixer94 вне форума Ответить с цитированием
Старый 14.07.2009, 13:45   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А парадокс к псевдонимам не имеет никакого отношения.
Если не хочешь работать с алиасами то просто указывай полный путь к файлу базы в свойстве DataBaseName.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ругаемся, говорим неизвестный идентификатор, хотя работало. Alex Cones Общие вопросы Delphi 6 21.04.2009 21:07
cout: необъявленный идентификатор alone_guy Общие вопросы C/C++ 1 13.02.2009 13:44
Как делают уникальный идентификатор строки в БД? sergey113 Помощь студентам 3 05.08.2008 17:48
Уникальный идентификатор romets Win Api 9 03.02.2008 02:30
сохранение результата выборки из DBF файла в DBF файл с такой же структурой таблицы GazimagomedovM БД в Delphi 5 06.11.2007 17:58