Текущий архив: 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