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

Вниз

Вопрос про insert в access`e.   Найти похожие ветки 

 
vegarulez ©   (2007-11-28 08:28) [0]

Привет всем мастерам!
У меня возникла тут маленька проблемка. Работал с MySQL, и там запрос вида:
Insert into `test`(`id`,`text`) values ("","Hello World!")
проходил успешно, при том что `id` - auto increment...
так вот пытаюсь аналогично сделать в аксесе, но там он ни хочет воспринимать пустой id - ругается... Когда id не пустой а там какое нибудь значение - то запрос успешно выполняется добавля запись в таблицу...
Свойства поля id в аксесе:
Размер поля: Длинное целое
Новые значения:Последовательные
Индексированное поле: Да(Совпадения не допускаются)

Теперь вопрос: Как добавить новую запись в таблицу с id-ом, автоинкрементом предыдущего в бд?

(Не хочу каждый раз делать селект а max(id) перед тем как делать insert, есть наверно какие-то другие пути...)


 
Skyle ©   (2007-11-28 08:30) [1]

Просто Id не указывать вообще.
INSERT test (text) Values ("blabla")


 
vegarulez ©   (2007-11-28 08:40) [2]

Да, действительно запрос вида INSERT test (text) Values ("blabla"), прошёл успешно, всё получилось. Спасибо.

Я немного ошибся в первом посте я делаю запрос вот такого вида:
Insert into `test` values ("","Hello World!")
потому как у меня много полей и много значений, поэтому названия полей я выкинул, т.к. он ругается что типа длинна больше 255 и не хотел компилить прогу...

Тогда вопрос как сделать такой запрос:
Insert into `test` values ("","Hello World!")
при том что там теже поля... он при не указании поля id  говорит что типа кол-во полей и значений не совпадает...


 
Skyle ©   (2007-11-28 08:43) [3]

А что за ограничение 255?
Это в дельфи?
ShortString чтоли?


 
Anatoly Podgoretsky ©   (2007-11-28 08:51) [4]

> vegarulez  (28.11.2007 08:40:02)  [2]

> при не указании поля

Никогда так не делай.


 
vegarulez ©   (2007-11-28 08:52) [5]

Вопрос: Как запихнуть в стринг запрос более 255 символов...
в хелпе посмотрел стрнг :255 элементов
ансистринг и вайдстринг - то что надо...
но прописываю
var
s:Ansistring;

а он всё равно компилять не хотить  - выделяет то место где
s:= {дальше идёт длинный запрос} и говорит что типа стринг должен быть не больше 255 символов...
Подскажите... как быть...

[сечас в меня летят тухлые помидоры и яйца... ]


 
vegarulez ©   (2007-11-28 08:53) [6]

Anatoly Podgoretsky ©   (28.11.07 08:51) [4]

А почему нельзя так делать?
Я в мускле всегда так делал - всё норм было...


 
Anatoly Podgoretsky ©   (2007-11-28 08:57) [7]

> Skyle  (28.11.2007 08:43:03)  [3]

Не ShortString, просто автор не умеет работать с Дельфи, не понимает элементарных основ.


 
Skyle ©   (2007-11-28 09:05) [8]


> vegarulez ©   (28.11.07 08:53) [6]
> Anatoly Podgoretsky ©   (28.11.07 08:51) [4]
>
> А почему нельзя так делать?
> Я в мускле всегда так делал - всё норм было...

Источник трудноуловимых ошибок.


> Anatoly Podgoretsky ©   (28.11.07 08:57) [7]
> > Skyle  (28.11.2007 08:43:03)  [3]
>
> Не ShortString, просто автор не умеет работать с Дельфи,
>  не понимает элементарных основ.

Уже догадался :)


 
vegarulez ©   (2007-11-28 09:09) [9]

Anatoly Podgoretsky ©   (28.11.07 08:57) [7]

Подскажите где тогда посмотреть ответ на этот вопрос, раз он не был приведён в вашем посте...


 
sniknik ©   (2007-11-28 09:11) [10]

> s:= {дальше идёт длинный запрос} и говорит что типа стринг должен быть не больше 255 символов...
вот в этом и проблема, слишком длинные строки сама дельфя не обрабатывает.
что делать, имхо очевидно... сокращать запрос!  ;о). ну может и другое решение придумаешь, оно тоже элементарное.  

> Я в мускле всегда так делал - всё норм было...
прикинь, я в бассейне всегда плавал, и нормально было, а в пустыне почемуто не получается...

p.s. смотри синтаксис конкретного движка с которым работаешь. если ктото чтото дозволяет это не значит что у других точно также.


 
Johnmen ©   (2007-11-28 09:13) [11]

примерно так:
s :=
"я " +
"чайник, " +
"я " +
"чайник";


 
vegarulez ©   (2007-11-28 09:17) [12]

sniknik ©   (28.11.07 09:11) [10]
да... решение то я могу придумать тупо разбить длинный запрос на s1 и s2 а потом тупо
s:=s1+s2...
но хочется то по умному сделать...а  не так...
Поэтому и спрашиваю как?...


 
vegarulez ©   (2007-11-28 09:18) [13]

Johnmen ©   (28.11.07 09:13) [11]
спасибо за подсказку... я это знаю...


 
vegarulez ©   (2007-11-28 09:20) [14]

хотя наверно врядли можно чо нить придумать против компилятора делфи раз он так работает то нужно под него подстраиваться...
Лана всем спасибо. проблема решена. Тема закрыта.


 
Anatoly Podgoretsky ©   (2007-11-28 09:27) [15]

> vegarulez  (28.11.2007 08:52:05)  [5]

Разберись, что такое литералы, что такое конкатенация.


 
Anatoly Podgoretsky ©   (2007-11-28 09:28) [16]

> vegarulez  (28.11.2007 08:53:06)  [6]

Ты пришел в другую систему, думаешь в ней также плохо как в MySQL


 
Anatoly Podgoretsky ©   (2007-11-28 09:33) [17]


> спасибо за подсказку... я это знаю...

Странно, знаешь, но не делаешь, лучше горевать над сообщением об ошибке.

Назло маме уши отморожу.



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

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

Наверх




Память: 0.48 MB
Время: 0.042 c
15-1195904689
Petr V. Abramov
2007-11-24 14:44
2007.12.23
Болтовня по Skype


15-1195764332
Mul
2007-11-22 23:45
2007.12.23
А есть какие-нибудь статьи у Анатолия Подгоретского?


2-1196358779
Pacific
2007-11-29 20:52
2007.12.23
Потоки


2-1195897949
WebSQLNeederr
2007-11-24 12:52
2007.12.23
Использование ini для загрузки настроек програмы


15-1195850489
syte_ser78
2007-11-23 23:41
2007.12.23
windows 1.01





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский