powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Новичок
12 сообщений из 12, страница 1 из 1
Новичок
    #32325297
Ser1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди ААААА!!!! помогите пожалуста спросить не у кого, а на других форумах только издеваються
использую ADO, таблицы создал в Аксцесе,
и на самые элементарные запросы типа
DM_Dox.queDoxRedakt.SQL.Add('UPDATE BudDannDox');
DM_Dox.queDoxRedakt.SQL.Add('SET DoxBudPlVsego = DoxBudPlVsego+1000');
DM_Dox.queDoxRedakt.SQL.Add('WHERE BudDannDox.ID_Dox = 90');
DM_Dox.queDoxRedakt.Active:=True;
получаю вот такую ошибку.
"Текущий проводник не поддерживает возврат нескольких наборов записей в результате одной операции"
Это первое сообщение об ошибке после ОК вываливаеться второе "queDoxRedakt: CommandText does not
return a result set"
Мне кажеться дело в какихто настроках ADO.
...
Рейтинг: 0 / 0
Новичок
    #32325325
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DM_Dox.queDoxRedakt.ExecSQL;
_____________
__
...
Рейтинг: 0 / 0
Новичок
    #32325326
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тобищь это вместо
DM_Dox.queDoxRedakt.Active:=True;

_____________
__
...
Рейтинг: 0 / 0
Новичок
    #32325558
Ser1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за помощ но ещё одна проблема. Я сделал запрос как смог но в принципе они так делаються или есть другой путь, а то он какойто карявый.
DM_Dox.queDoxRedakt.SQL.Add('INSERT INTO BudDannDox');
DM_Dox.queDoxRedakt.SQL.Add('(KodStrDox, DoxBudPlVsego, DoxBudPlDen, DoxBudFtVs, DoxBudFtDen, KodFilial, Mesjac, God)');
DM_Dox.queDoxRedakt.SQL.Add('VALUES ('+DBEdit1.Text+', '+DPlanVs.Text+', '+DPlanDen.Text+', '+DFactVs.Text+', '+DFactDen.Text+', '+Edit1.Text+', '+Edit2.Text+', '+ComBoxGod.Text+')');
DM_Dox.queDoxRedakt.ExecSQL;
Конструкция получилась какаето нестабильная работает раз5-6 а потом выдаёт ошибку
"Ошибка синтаксиса в инструкции INSERT INTO"
...
Рейтинг: 0 / 0
Новичок
    #32325651
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работай через параметры .

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
DM_Dox.queDoxRedakt.SQL.Add('INSERT INTO BudDannDox'); 
DM_Dox.queDoxRedakt.SQL.Add('(KodStrDox, DoxBudPlVsego, DoxBudPlDen, DoxBudFtVs, DoxBudFtDen, KodFilial, Mesjac, God)'); 
DM_Dox.queDoxRedakt.SQL.Add('VALUES (:p1,:p2,:p3,:p4,:p5,:p6,:p7,:p8)'); 
with  DM_Dox.queDoxRedakt do
  begin
     Params[ 0 ].Value:=DBEdit1.Text;
     Params[ 1 ].Value:=DPlanVs.Text;
     Params[ 2 ].Value:=DPlanDen.Text;
     Params[ 3 ].Value:=DFactVs.Text;
     Params[ 4 ].Value:=DFactDen.Text;
     Params[ 5 ].Value:=Edit1.Text;
     Params[ 6 ].Value:=Edit2.Text;
     Params[ 7 ].Value:=ComBoxGod.Text;
     ExecSQL;
  end;


_____________
__
...
Рейтинг: 0 / 0
Новичок
    #32326530
Ser1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всё получилось но как обычно вылезли две проблемки
1 Если какоето поле не заполнено то глюк но с этим может разберусь сам
2 А вот второе если перескакивою на др строчку то тоже глюк. Я же создал строчку, заполнил данными, и послал в таблицу, какой может быть глюк?
...
Рейтинг: 0 / 0
Новичок
    #32326546
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бы ты вместо обобщенного понятия глюк приводил точное сообщение об ошибке, то и ответ бы получил соответствующий.
...
Рейтинг: 0 / 0
Новичок
    #32326594
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего требуется делать Commit, чтобы глюков не было.
Но лучше все же описать на что похож этот глюк. :))


Best regards,
Dnico.
...
Рейтинг: 0 / 0
Новичок
    #32327268
Ser1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Виноват , каюсь.
После вставки строки в базу, на Гриде перескакиваю на другую строку а он мне.
"Не удаёться найти строку для обновления. Некоторые значения могли быть изменены со времени
её последнего чтения"
Я так понял что метод ExecSQL только посылает SQL в базу и не возвращает изменения в чём причина?
...
Рейтинг: 0 / 0
Новичок
    #32327284
Berg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Ser1:
Ты все правильно понял, ExecSQL так и делает...
Тебе надо что-нить типа Refresh() на клиенте...
...
Рейтинг: 0 / 0
Новичок
    #32327995
Nikles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Не удаёться найти строку для обновления. Некоторые значения могли быть изменены со времени её последнего чтения"

Такая ошибка появляется если в изменяемой таблице не задан первичный ключ.
...
Рейтинг: 0 / 0
Новичок
    #32328445
Ser1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Совсем запутался.
1. В таблице Есть ключ ID_Dox - Счётчик - числовое Всё как у взрослого.
2. Refresh, а что обновлять? queDoxRedakt и так Active:=False и при попытке обновления ругаеться
Cannot perform this operation on a closed dataset
Типа чё обновлять на закрытом наборе данных. оно и правильно ругаеться.
ExecSQL послал запись в таблицу и всё. Открыл вставил и сразу закрыл.
Но мне кажеться это я чёто не правильно сделал изначально.
Одим Query осекаю лишние значения и открываю таблцу, например из 100 записей вывожу 5.
Другим Query вставляю запись. Но он же вставляет:)). А как по другому не знаю. Може сам принцип
не правильный и так не делаеться.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Новичок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]