Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Вниз

MAX(id) из DELPHI   Найти похожие ветки 

 
mfender ©   (2004-11-09 09:59) [0]

Использую MyODBC для связи с удаленной MySQL. От автоинкремента по понятным причинам отказался. Как узнать максимальное значение поля id? Традиционный запрос выглядит так:
SELECT MAX(id) FROM <table>
Программа начинает ругаться про отсутствующие поля.
Например, когда я пишу это на PHP и получаю массив из запроса, результат лежит в поле MAX(id). А вот как в DELPHI получить - не пойму всвязи со своей некоторой тупостью :)


 
Vlad ©   (2004-11-09 10:05) [1]


> mfender ©   (09.11.04 09:59)  

Query.Fields[0].AsInteger ?


 
mfender ©   (2004-11-09 10:14) [2]


> Query.Fields[0].AsInteger ?


Спасибо за совет. Но он все равно ругается... Говорит "Field id not found".


 
Vlad ©   (2004-11-09 10:19) [3]


> mfender ©   (09.11.04 10:14) [2]

странно...
попробуй запрос составить так:
select max(id) as id from ....
соотв. в дельфи значение можно взять по имени
Query.FieldByName("id").AsInteger


 
Ricko ©   (2004-11-09 10:20) [4]

SELECT MAX(id) as MaxID FROM <table>

Query.FieldByName("MaxID").AsInteger


 
Vlad ©   (2004-11-09 10:21) [5]


> mfender ©   (09.11.04 10:14) [2]
I>
кстати, кто генерит ошибку Field id not found, сервер или клиент?
А то может и правда такого поля в базе нет?


 
Johnmen ©   (2004-11-09 10:32) [6]

>От автоинкремента по понятным причинам отказался

Кому понятным ?


 
mfender ©   (2004-11-09 10:55) [7]

Спасибо. После долгого мытарства выяснилось, что он ругался по другой причине. Все поля таблицы были обозначены. Т.е. были TStringField, TIntegerField etc. В результате, не пойму почему правда, при запросе за значением из одного поля, программа начинала ругаться на отсутствие в TQuery других полей... Вот такая беда.
Пытался через TDatabase.Execute все это сделать, но что-то с BDE не ладится...


 
mfender ©   (2004-11-09 10:58) [8]


> Johnmen ©   (09.11.04 10:32) [6]
> >От автоинкремента по понятным причинам отказался
>
> Кому понятным ?


Всем понятным. С детства знает даже школьник, как опасно для идентификации записей в БД пользоваться автоинкрементом.


 
Соловьев ©   (2004-11-09 11:03) [9]


> Всем понятным. С детства знает даже школьник, как опасно
> для идентификации записей в БД пользоваться автоинкрементом.

Ужас... Где такие школы?


 
Sergey13 ©   (2004-11-09 11:04) [10]

2[8] mfender ©   (09.11.04 10:58)
>Всем понятным. С детства знает даже школьник, как опасно для идентификации записей в БД пользоваться автоинкрементом.

Вы в каком полку... Ой! В какой школе учились? 8-)


 
Vlad ©   (2004-11-09 11:05) [11]


> mfender ©   (09.11.04 10:55) [7]

Ничего не понял... особенно как связан метод Execute и select-запрос?
Ну это не главное, важно что проблема, надеюсь, решилась :-)

> С детства знает даже школьник, как опасно для идентификации
> записей в БД пользоваться автоинкрементом.

ууу, брат, да это уже религия а не наука :-)


 
Johnmen ©   (2004-11-09 11:10) [12]

>mfender ©   (09.11.04 10:58) [8]

Ты забыл добавить ИМХО. Можешь с ним и оставаться, как и те самые школьники.
Пока больно не упал...


 
mfender ©   (2004-11-09 11:21) [13]

И все-таки, полагаю, "вручную" назначать идентификаторы записям лучше и надежнее, чем автоинкрементом. Есть основания. Уже обжигался. Думаю и другие обжигались. Когда БД приходилось восстанавливать из резерва. Впрочем, это тема для "потрепаться".


 
Соловьев ©   (2004-11-09 11:31) [14]


> И все-таки, полагаю, "вручную" назначать идентификаторы
> записям лучше и надежнее, чем автоинкрементом


> SELECT MAX(id) FROM <table>

Это вручную??? Я еще понял бы если бы ты для человека вносил его паспортные данные или номер соц. защиты.

> Уже обжигался. Думаю и другие обжигались. Когда БД приходилось
> восстанавливать из резерва.

Так вот в чем проблема... Ты просто не умеешь востанавливать бекап. А то школы...пк... Лучше с восстановления бы и начинал, а не розводил полему про ПК...



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

Форум: "Базы";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.05 c
8-1094542811
Nomolos
2004-09-07 11:40
2004.12.05
Как без классов и mmsystem узнать длину midi?


3-1099778094
Mih@s
2004-11-07 00:54
2004.12.05
IBDataSet и Params


6-1096219964
_Константин
2004-09-26 21:32
2004.12.05
Перекодировка из UTF-8 в win-1251


9-1091708027
vixen
2004-08-05 16:13
2004.12.05
Пересечение отрезков. Реализация физики тел


11-1083082807
Delphi5.01
2004-04-27 20:20
2004.12.05
Что является аналогом inhereted в KOL?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский