Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2012, 14:51   #1
КристинкаМЧС
Новичок
Джуниор
 
Регистрация: 03.07.2012
Сообщений: 12
Восклицание Ошибка в запросе

Здравствуйте! написала запрос для редактирования данных в таблице access...данный отражаются и редактируются в stringGrid...Вобщем запрос не работает пишет ошибку "Синтаксическая ошибка в запросе. Неполное предложение в запросе"...Help me! В чем же дело?
Цитата:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='UPDATE "ЖКХ"'+
'SET "Название, нас пункт, телефон"='+StringGrid1.Cells[0,1]+',"Характеристика котельной:" ='+StringGrid1.Cells[1,1]+',"Êîëè÷åñòâî êîòëîâ"='+StringGrid1.Cells[2,1]+')'+
'"Òåìïåðàòóðà íà âûõîäå" ='+StringGrid1.Cells[3,1]+',"Ðåæèìû ðàáîòû ïðè àíîìàëüíûõ òåìïåðàòóðàõ (Òàáëèöà)"='+StringGrid1.Cells[4,1]+''+
'"Õàðàêòåðèñòèêà êîòëà:"='+StringGrid1.Cells[5,1]+',"Òèï, íîìåð êîòëà, îñíîâíîãî"='+StringGrid1.Cells[6,1]+',"Òèï, íîìåð êîòëà, ðåçåðâíîãî"='+StringGrid1.Cells[7,1]+''+
'"Ãîä ââîäà â ýêñïëóàòàöèþ"='+StringGrid1.Cel ls[8,1]+',"% èçíîñà"='+StringGrid1.Cells[9,1]+',"Ìîùíîñòü (Ãêë\÷àñ)"='+StringGrid1.Cells[10,1]+''+
'"Âèä òîïëèâà (îñíîâíîé, ðåçåðâíûé) Ñõåìà ïîñòàâêè òîïëèâà"='+StringGrid1.Cells[11,1]+',"Ñðåäíåñóòî÷íûé ðàñõîä"='+StringGrid1.Cells[12,1]+''+
'"Âðåìÿ âûâîäà íà ðàáî÷èé ðåæèì"='+StringGrid1.Cells[13,1]+',"Ïðîòÿæåííîñòü ñåòåé, êì"='+StringGrid1.Cells[14,1]+',"Îòàïëèâàåìûå îáúåêòû:"='+StringGrid1.Cells[15,1]+''+
'"Æèëûå äîìà, øò"='+StringGrid1.Cells[16,1]+',"Ñîöçíà÷èìûå îáúåêòû, øò" ='+StringGrid1.Cells[17,1]+',"Ïðîìûøëåííûå, øò"='+StringGrid1.Cells[18,1]+''+
'"Äðóãèå, øò"= '+StringGrid1.Cells[19,1]+', "Êîëè÷åñòâî îòàïëèâàåìîãî íàñåëåíèÿ"='+StringGrid1.Cells[20,1]+''+
'"Íàëè÷èå ðåçåðâíîãî èñòî÷íèêà ïèòàíèÿ, íåñíèæàåìûé çàïàñ"='+StringGrid1.Cells[21,1]+''+
'WHERE íàèìåíîâàíèå íàñåëåííîãî ïóíêòà LIKE '''+Form1.Edit2.Text+'''';
ADOQuery1.ExecSQL;
Вобщем вместо кодированных символов русские буквы...это название полей в аксесе...
КристинкаМЧС вне форума Ответить с цитированием
Старый 03.07.2012, 15:05   #2
mansuetudo
Пользователь
 
Регистрация: 08.11.2011
Сообщений: 46
По умолчанию

Код:
ADOQuery1.SQL.Text:=
'UPDATE "ЖКХ"'+
'SET "Название, нас пункт, телефон"='+StringGrid1.Cells[0,1]+
',"Характеристика котельной:" ='+StringGrid1.Cells[1,1]+
',"Eiee?anoai eioeia"='+StringGrid1.Cells[2,1]+')'+
'"Oaiia?aoo?a ia auoiaa" ='+StringGrid1.Cells[3,1]+
',"?a?eiu ?aaiou i?e aiiiaeuiuo oaiia?aoo?ao (Oaaeeoa)"='+StringGrid1.Cells[4,1]+''+
'"Oa?aeoa?enoeea eioea:"='+StringGrid1.Cells[5,1]+
',"Oei, iiia? eioea, iniiaiiai"='+StringGrid1.Cells[6,1]+
',"Oei, iiia? eioea, ?aca?aiiai"='+StringGrid1.Cells[7,1]+''+
'"Aia aaiaa a yenieoaoaoe?"='+StringGrid1.Cel ls[8,1]+
',"% eciina"='+StringGrid1.Cells[9,1]+
',"Iiuiinou (Aee\?an)"='+StringGrid1.Cells[10,1]+''+
'"Aea oiieeaa (iniiaiie, ?aca?aiue) Noaia iinoaaee oiieeaa"='+StringGrid1.Cells[11,1]+
',"N?aaianooi?iue ?anoia"='+StringGrid1.Cells[12,1]+''+
'"A?aiy auaiaa ia ?aai?ee ?a?ei"='+StringGrid1.Cells[13,1]+
',"I?ioy?aiiinou naoae, ei"='+StringGrid1.Cells[14,1]+
',"Ioaieeaaaiua iauaeou:"='+StringGrid1.Cells[15,1]+''+
'"?eeua aiia, oo"='+StringGrid1.Cells[16,1]+
',"Niocia?eiua iauaeou, oo" ='+StringGrid1.Cells[17,1]+
',"I?iiuoeaiiua, oo"='+StringGrid1.Cells[18,1]+''+
'"A?oaea, oo"= '+StringGrid1.Cells[19,1]+
', "Eiee?anoai ioaieeaaaiiai ianaeaiey"='+StringGrid1.Cells[20,1]+''+
'"Iaee?ea ?aca?aiiai enoi?ieea ieoaiey, ianie?aaiue caian"='+StringGrid1.Cells[21,1]+''+
'WHERE iaeiaiiaaiea ianaeaiiiai ioieoa LIKE '''+Form1.Edit2.Text+'''';
Разбила на строчки по-своему. Навскидку вижу:
1) закрывающая скобка в пятой строчке при отсутствии открывающей;
2) в последней строке кириллический текст не взят в кавычки, в отличие от предыдущих.
Возможно также, что, помимо этого, где-то в тексте ещё пропущены пробелы там, где они должны быть.
2)
mansuetudo вне форума Ответить с цитированием
Старый 03.07.2012, 15:11   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

1) не лезь в чужую тему - это наказуемо
2) Поставь точку прерывания на ADOQuery1.ExecSQL и посмотри чему при выполнении равен ADOQuery1.SQL.Text
3) Какие у полей в таблице БД типы?
4) iaeiaiiaaiea ianaeaiiiai ioieoa - это имя поля? В ковычки двойные бери его.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.07.2012, 15:17   #4
КристинкаМЧС
Новичок
Джуниор
 
Регистрация: 03.07.2012
Сообщений: 12
По умолчанию

ой,прошу прощения! поставила точку, TEXT заполняется теми данными, что я ввожу...все верно...
КристинкаМЧС вне форума Ответить с цитированием
Старый 03.07.2012, 15:17   #5
КристинкаМЧС
Новичок
Джуниор
 
Регистрация: 03.07.2012
Сообщений: 12
По умолчанию

насчет пробелом и кавычек..сто раз проверила....поля вообще копировала из таблицы
КристинкаМЧС вне форума Ответить с цитированием
Старый 03.07.2012, 15:20   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
TEXT заполняется теми данными, что я ввожу
Покаж что отладчик показывает.
P.s. Возможно модераторы перенесут твой посты в отдельную тему. Думаю она должна размещаться в ветке БД
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.07.2012, 15:44   #7
КристинкаМЧС
Новичок
Джуниор
 
Регистрация: 03.07.2012
Сообщений: 12
По умолчанию

'UPDATE "ÆÊÕ"SET "Íàçâàíèå, íàñ ïóíêò, àäðåñ, òåëåôîí"=dfgsg,"Õàðàêòåðèñòèêà êîòåëüíîé:" =sdf,"Êîëè÷åñòâî êîòëîâ"=gsdfgfhg)"Òåìïåðàòóðà íà âûõîäå" =hgh,"Ðåæèìû ðàáîòû ïðè àíîìàëüíûõ òåìïåðàòóðàõ (Òàáëèöà)"=hj"Õàðàêòåðèñòèêà êîòëà:"=sgf,"Òèï, íîìåð êîòëà, îñíîâíîãî"=dfg,"Òèï, íîìåð êîòëà, ðåçåðâíîãî"=sdfg"Ãîä ââîäà â ýêñïëóàòàöèþ"=sdfgdf,"% èçíîñà"=ghgfgd,"Ìîùíîñòü (Ãêë\÷àñ)"=hgdfhg"Âèä òîïëèâà (îñíîâíîé, ðåçåðâíûé) Ñõåìà ïîñòàâêè òîïëèâà"=fghgfhd,"Ñðåäíåñóòî÷íû é ðàñõîä"=fhdf"Âðåìÿ âûâîäà íà ðàáî÷èé ðåæèì"=s,"Ïðîòÿæåííîñòü ñåòåé, êì"=gh,"Îòàïëèâàåìûå îáúåêòû:"=s"Æèëûå äîìà, øò"=dhsgh,"Ñîöçíà÷èìûå îáúåêòû, øò" =hdgh,"Ïðîìûøëåííûå, øò"=345"Äðóãèå, øò"= 34, "Êîëè÷åñòâî îòàïëèâàåìîãî íàñåëåíèÿ"=54"Íàëè÷èå ðåçåðâíîãî èñòî÷íèêà ïèòàíèÿ, íåñíèæàåìûé çàïàñ"=3543WHERE íàèìåíîâàíèå íàñåëåííîãî ïóíêòà = 'Àëíàøè''#$D#$A
КристинкаМЧС вне форума Ответить с цитированием
Старый 03.07.2012, 15:51   #8
КристинкаМЧС
Новичок
Джуниор
 
Регистрация: 03.07.2012
Сообщений: 12
Радость

fail.JPG прикрепля. скриншот

Последний раз редактировалось КристинкаМЧС; 03.07.2012 в 15:53.
КристинкаМЧС вне форума Ответить с цитированием
Старый 03.07.2012, 16:47   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
UPDATE "ЖКХ"SET
Смотри тут пробел нужен - "ЖКХ" SET
И везде где поля строковые пиши так:
Код:
..."Название, нас пункт, телефон"='+QuotedStr(StringGrid1.Cells[0,1])+...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.07.2012, 16:50   #10
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

в дополнение к
Цитата:
Сообщение от Stilet Посмотреть сообщение
Смотри тут пробел нужен - "ЖКХ" SET
И везде где поля строковые пиши так:
Код:
..."Название, нас пункт, телефон"='+QuotedStr(StringGrid1.Cells[0,1])+...
1. замените названия полей английским вариантом и без пробелов
2. воспользуйтесь всё-таки параметрами - Вам же проще будет
UPD типа так
Код:
ADOQuery.Close;
ADOQuery.SQL.Text:='UPDATE GKH SET Nas_punkt = :p1, har_kot = :p2, kol_kotlov = :p3, temp_out = :p4, '+
'plan_job_anomal = :p5, kot_char = :p6, main_kot_type = :p7, sec_kot_type = :p8, start_yea = :p9, iznos = :p10, '+
'kot_power = :p11, kot_topl_vid = :p12, daily_rashod = :p13, time2normal_start = :p14, netw_long = :p15, ... ';
ADOQuery.ParamByName('p1').Value:=StringGrid.Cells[10,1];
...
ADOQuery.ExecSQL;
(полный текст просто писать обломало ... уж оч сложно написано)
P.S. + как частный случай можно заполнение параметром загнать в цыкл .. проще будет
Код:
for i:=1 to 20 do
ADOQuery.ParamByName('p'+IntToStr(i)).Value:=StringGrid.Cells[10,i];
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...

Последний раз редактировалось Yurk@; 03.07.2012 в 17:06.
Yurk@ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в запросе myprog Microsoft Office Access 2 16.04.2012 09:13
ошибка в запросе Анастас Помощь студентам 2 06.11.2011 22:50
Ошибка в запросе ZHDN Общие вопросы Delphi 4 14.09.2011 13:07
Ошибка в запросе Leo08 БД в Delphi 4 30.06.2011 13:43
Ошибка в запросе LIKE Ele БД в Delphi 2 22.05.2010 13:07