|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.04.2013, 15:47 | #1 |
Новичок
Джуниор
Регистрация: 09.04.2013
Сообщений: 10
|
"Пропущен символ(;) в конце инструкции SQL"
Всем привет ребят помогите бьюсь уже неделю над этим запросом
DM.Dop.Active := false; DM.Dop.SQL.Text := 'INSERT INTO Таблица1(Zn) VALUES (йцу) where name = ''в'''; DM.Dop.Active := true; уже все способы перепробовал пишет "Пропущен символ( в конце инструкции SQL" что самое интересное без условия работает а с ним нет у меня например есть запись о студенте на каком он курсе и все такое к каждому студенту привязана его успеваемость и мне надо в запросе вставить значение в определенный столбец в успеваемость определенного студента |
09.04.2013, 15:52 | #2 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
инструкция INSERT INTO выполняется БЕЗ условия WHERE,
не нужно путать с UPDATE-ом ... там можно применять WHERE Код:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... Последний раз редактировалось Yurk@; 09.04.2013 в 15:55. |
09.04.2013, 15:52 | #3 |
Новичок
Джуниор
Регистрация: 09.04.2013
Сообщений: 10
|
а как же указать куда именно надо вставить запись
|
09.04.2013, 15:55 | #4 | |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
при вставке новой записи она добавляется в конец таблицы.
а если делать обновление записи - тогда нужно в условии указывать какие именно записи обновлять Цитата:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
|
09.04.2013, 15:57 | #5 |
Новичок
Джуниор
Регистрация: 09.04.2013
Сообщений: 10
|
смотрите по клике на кнопку я перевожу группу в на другой семестр у меня копируются все студенты со всеми данными и с семестром например 2
а в успеваемость каждого из них вставляются предметы из таблицы предметы со 2 семестром мне именно вставить предметы надо |
09.04.2013, 15:58 | #6 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
она вставится куда надо даже и без условия
|
09.04.2013, 15:59 | #7 |
Новичок
Джуниор
Регистрация: 09.04.2013
Сообщений: 10
|
ну ок щас пробанем заранее спасибо
|
09.04.2013, 16:04 | #8 | ||
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
Цитата:
Код:
Цитата:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
||
09.04.2013, 16:36 | #9 |
Новичок
Джуниор
Регистрация: 09.04.2013
Сообщений: 10
|
я беру их базы студнетов на данном курсе например на 1 их всех копирую и вставляю заново с новыми успеваемостями и в этих успеваемостях нету предметов поэтому нечего и обновлять а мне нужно вставить в эти успеваемости предметы которые я возьму из таблицы предметы тоесть те которые идут на этом семестре именно
так что обновлять тут нечего мне |
09.04.2013, 16:46 | #10 |
Новичок
Джуниор
Регистрация: 09.04.2013
Сообщений: 10
|
не знаю вот так делаю то есть сразу после добавления студента добавляю предметы
но он добавляет предметы последнему студенту в групп на предыдущем семестре procedure TVedomostForm.Button2Click(Sender: TObject); var sem,spec:integer; i,j:integer; begin sem := 0; //Выбор предметов для прикрепления к переведенной группе sem := StrToInt(Label7.Caption) +1; DM.Dop.Active := false; DM.Dop.SQL.Text := 'Select Предмет,Диплом From Предмет Where Специальность = '''+ Label6.Caption+''' and Семестр = '''+IntToStr(sem)+''''; DM.Dop.Active := true; //Считываение id с грида выбор студентов и перезапись с новым значением семестра for str := 1 to AdvStringGrid1.RowCount-2 do begin DM.QVed.Active := false; DM.QVed.SQL.Text := 'Select * From Перекрестный Where id = '+ AdvStringGrid1.Cells[0,str]; DM.QVed.Active := true; DM.Spisok.Insert; DM.Spisok.FieldByName('Фамилия').As String := DM.QVed.FieldByName('Фамилия').AsSt ring; DM.Spisok.FieldByName('Имя').AsStri ng := DM.QVed.FieldByName('Имя').AsString ; DM.Spisok.FieldByName('Отчество').A sString := DM.QVed.FieldByName('Отчество').AsS tring; DM.Spisok.FieldByName('Специальност ь').AsString := DM.QVed.FieldByName('Специальность' ).AsString; DM.Spisok.FieldByName('Семестр').As String := IntToStr(StrToInt(DM.QVed.FieldByNa me('Семестр').AsString) + 1); DM.Spisok.FieldByName('Группа').AsS tring := DM.QVed.FieldByName('Группа').AsStr ing; DM.Spisok.Post; DM.QVed.Active := true; DM.Dop.First; while not DM.Dop.Eof do begin DM.Uspev.Insert; DM.Uspev.FieldByName('Предмет').AsS tring := DM.Dop.FieldByName('Предмет').AsStr ing; DM.Uspev.FieldByName('Диплом').AsSt ring := DM.Dop.FieldByName('Диплом').AsStri ng; DM.Uspev.Post; DM.Dop.Next; end; end; {//выбор id студентов для прикрепления предметов DM.QVed.Active := false; DM.QVed.SQL.Text := 'Select id From Перекрестный Where Специальность = '''+ Label6.Caption+''' and Семестр = '''+IntToStr(sem)+''''; DM.QVed.Active := true; DM.QVed.First; for i := 0 to 2 do begin AdvStringGrid3.Cells[0,i] := DM.QVed.FieldByName('id').AsString; DM.QVed.Next; end;} { //Приикрепление предметов к переведенным студентам DM.QVed.First; while not DM.QVed.Eof do begin DM.Dop.First; while not DM.Dop.Eof do begin DM.Dop2.Active := false; DM.Dop2.SQL.Text := 'Update Успеваемость Set Предмет = '+ DM.Dop.FieldByName('Предмет').AsStr ing+' and Диплом = '+ DM.Dop.FieldByName('Диплом').AsStri ng+' where Код_студента = '+ DM.QVed.FieldByName('id').AsString; DM.Dop2.ExecSQL; DM.Dop.Next; end; DM.QVed.Next; end;} end; |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Организовать текстовый файл f, состоящий из N строк. Организовать замену символов в файле. "Старый" символ и "новый" символ запраш | Richik123 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 14.06.2012 16:28 |
Организовать текстовый файл f, состоящий из N строк. Организовать замену символов в файле. "Старый" символ и "новый" символ запра | Richik123 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 31.05.2012 17:32 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует | skobets | Общие вопросы C/C++ | 2 | 03.06.2008 06:51 |