![]() |
|
|
![]()
|
|
| neweraser |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
Всем привет
добавляю много строк и выдается такая ошибка
пробовал так
добавляет но криво и в середине вываливается ошибка и даже после каждой DataModule1.ADOQuery.SQL.Clear; (после цикла) добавлял DataModule1.ADOQuery.First; в сети ничего кроме
больше ничего не нашел, может есть какой-то еще вариант решения проблемы? не хочется ADOTable использовать, и так на форме куча компонентов -------------------- Кто ищет, тот всегда найдет. |
||||||||
|
|||||||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Почему криво, какая ошибка? Вообще перед каждым .Clear делай .Close
Добавлено через 41 секунду Это явно ни при чём. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Teleport |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 1 Всего: 6 |
В тексте SQL-запроса в конце перед самой ' нужно ставить ;
Видишь - у меня ; перед ' Немного не по теме - ты всегда пишешь на каждой строке DataModule1.ADOQuery? with - вообще не пользуешься? Это я на всякий случай. 3-4 строчки еще без него, а более - уже с ним, как-то удобнее. Это сообщение отредактировал(а) Teleport - 1.12.2009, 03:17 |
||||
|
|||||
| neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
он с ObjguardList2 добавляет как нужно, потом добавляет запись в 3-4 строку (в зависимости от ObjguardList2.Count), хотя мне надо в 1-ю строку в поле 'GenDir', а потом ошибка (какая не помню (я не дома)
пользовался, но потом посчитал это некрасивым я пробовал, все равно та же ошибка :(( -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 23 Всего: 54 |
может
поле Datamodule1.RequisTable.FieldByName('FullName').AsString или другие поля имеют значение null? asstring тогда вернет пустоту и запрос у тебя криво соберется -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Если надо вставлять в конкретную строку, то используется не Insert, а Update с условием Where. И вообще, что значит "третья" строка? Конечно, в трёх записях не запутаешься, но когда добавишь 1000-ю запись, далеко не факт, что в таблице она и физически будет именно 1000-й. Это сообщение отредактировал(а) Данкинг - 1.12.2009, 12:19 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
может да, я не знаю к какой строке он конкретно обращается, мне нужна первая, хотя больше их там и не должно быть, в той таблице всегда одна строка как это? -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
При наличии ключевого (к примеру) поля:
В данном случае в pole1 будет занесено значение "3" для тех записей, у которых поле id имеет значение 3. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Teleport |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 5.7.2008 Где: Прибалтика Репутация: 1 Всего: 6 |
2 neweraser - главное определиться - тебе нужно ИЗМЕНИТЬ (ОБНОВИТЬ) значения в существующей записи (строке) или же ДОБАВИТЬ НОВУЮ запись (строку) в таблицу.
|
|||
|
||||
| neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
все равно не доходит до меня :(
ipicture не грузится, поэтому так присоеденил на всякий случай. в поле EmplName у меня добавляется несколько записей в остальные по одной записи из лругой таблицы изначально код выглядел вот так
Присоединённый файл ( Кол-во скачиваний: 12 )
123.jpg 15,44 Kb-------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
| neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
Teleport, я добавляю новые записи в только что созданную таблицу
Присоединённый файл ( Кол-во скачиваний: 16 )
123.jpg 15,44 Kb-------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
neweraser, хочешь сказать, этот код заполняет первую строку таблицы?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
нееет, он должен заполнять только ЕмплНаме, допустим 4 поля сверху, остальные 3 поля только на первой строке, а остальные поля потом будут заполняться
Добавлено через 1 минуту и 25 секунд -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
| Данкинг |
|
||||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Вот для этого каждая строка и должна иметь уникальный номер (например, ID). Вначале заполняем 4 строки ЕмплНаме с помощью insert, а потом уже - 3 столбца первой строки с помощью update... where ID=1...
Это не вирус, это ПунтоСвитчер. -------------------- There's nothing left but silent epitaphs. |
||||
|
|||||
| neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
а можно без ид? например where ('поле GenDir - первая строка')
пс это не пунто свичер, а что-то с форумом или моей оперой Добавлено через 1 минуту и 40 секунд т.к. в блокноте нормально все )) скопировал - вставил в окошко сообщения - вроде нормально -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Можно, если ты уверен, что Иван Иванович Иванов у тебя во всей базе один-единственный. Ну, не знаю, обычно такое с ПунтоСвитчером бывает как раз бывает. А так - видимо, глюк очередной. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
чуть не так сформулировал, это пустое поле, можно просто как-то явно указать на него?
-------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
...where pole1 is null (вроде в Access так) - обновляются записи с пустыми полями pole1. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
ну так они все обновляются
Спасибо -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
neweraser, не знаю-не знаю, должны только по условию WHERE..., разбирайся, где накосячилзаблуждаешься.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
AdoQuery же вроде работает почти как и AdoTable, можно его соединить с какой-нибудь таблицей?
например как-то так DataSource1.DataSet:= table1 (до этого в AdoQuery в свойствах выбрал DataSource1) а потом работать как и с AdoTable, т.е. ADOQuery.FieldByName('pole'):= 'значение'; или я опять туплю и этого делать не стоит? -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
Если просто в нём выбираешь все записи (select * from TABLE), то... Вроде как можно, только не помню, делал ли я так когда-то. В общем, попробуй, должно получиться:
Добавлено @ 01:00 А это зачем? Указываешь для AdoQuery соответствующее AdoConnection - и всё, безо всяких датасоурсов. Это сообщение отредактировал(а) Данкинг - 2.12.2009, 01:01 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
только вместо AdoQuery.Append мне нужно было AdoQuery.Edit спасибо еще раз! выручил!! -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 35 Всего: 130 |
В таком случае (т.е. для редактирования) не забудь сначала встать на нужную строку, к примеру:
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |