Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/27: Рейтинг темы: голосов - 27, средняя оценка - 4.67
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3

Как выделить строку в БД добавленную запросом?

07.09.2009, 10:45. Показов 6036. Ответов 64
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня есть код
C++
1
2
3
4
5
6
7
8
9
10
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Text = "INSERT INTO Glavnaya (Invent_Number,Number_in_Lan,Department,Processor,Memory,HDD,Room)VALUES('"+Edit1->Text+"', '"+Edit2->Text+"', '"+Edit3->Text+"', '"+Edit4->Text+"', '"+Edit5->Text+"', '"+Edit6->Text+"', '"+Edit7->Text+"')";
ADOQuery1->ExecSQL();
 
 
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Text ="Select * from Glavnaya ORDER BY Invent_Number";
ADOQuery1->Open();
Как можно выделить новую строку добавленную в БД запросом
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.09.2009, 10:45
Ответы с готовыми решениями:

Как выделить новую строку в QTableView добавленную через QSqlQuery
Имеем QSqlQueryModel и припомощи QSqlQuery делается вставка в базу данных, при этом в QTableView данные обновляются, появляется новая...

Как добавленную строку в DGV сохранить в БД
Прошу помочь в проблеме. В access была создана база с таблицей. Таблица состоит из 3х столбцов - код(примари кей), имя, и фамилия. В с#...

Нужно SQL-запросом вернуть самую последнюю добавленную запись
Нужно SQL-запросом вернуть самую последнюю добавленную запись. Такой вариант нормальный? SELECT `message`, `reply` FROM `chat` WHERE `id`...

64
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
08.09.2009, 15:50  [ТС]
Студворк — интернет-сервис помощи студентам
Да, тоже меняю но обновление не происходит хотя надо чтобы оно происходило
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
08.09.2009, 15:52
Sasha, интересно тогда, как твой код может что-то обновить? у тебя идет поиск по новому значению ключевого поля, когда оно еще такого значения не имеет?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
08.09.2009, 16:02  [ТС]
Так это надо к этому полю обратится через псевдоним или что-то другое посоветуешь?
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.09.2009, 16:07
епт... в инструкции INSERT условий не должно стоять
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
08.09.2009, 16:12  [ТС]
Цитата Сообщение от oxotnik Посмотреть сообщение
епт... в инструкции INSERT условий не должно стоять
А в UPDATE?
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.09.2009, 16:20
можно
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
08.09.2009, 16:21
oxotnik, на счет Insert вы явно погорячились...


Sasha, тебе надо запомнить старое значение ключа и его в условие подставлять, вот и все
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.09.2009, 16:23
Цитата Сообщение от VoodooMan Посмотреть сообщение
oxotnik, на счет Insert вы явно погорячились...
не могу представить себе конструкцию на вставку новых значений в таблицу, где нужно было бы условие
подскажи как это?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
08.09.2009, 16:25  [ТС]
Я так понял при помощи функции Locate ()? А через псевдоним к этому полю можна обратиться?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
08.09.2009, 16:46
oxotnik, пардон, это я погорячился, но все же как вариант (а в оракле в pl /sql допускается условие после ключевого слова when (не юзал - в хелпе просто видел)):
SQL
1
INSERT INTO TABLE SELECT * FROM table2 WHERE <условие>
также можно и таблицы создавать с условием (но не уверен, что все базы такое поддерживают)...
Sasha, псевдоним не поможет, пример:
update table set key = 90 where key = 90 (а нужное значение key = 50 (к примеру)), тогда обновляется либо несуществующая запись, либо не та, что хотелось (если запись с ключом уже есть)... и тебе даже Locate не надо... потому что ты юзаешь грид, возьми значение из грида и поставь в условие - проблема решена...





0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.09.2009, 16:57
VoodooMan в примере условие относится к выборке (вложенному запросу) но не к инструкции добавления
0
08.09.2009, 16:59

Не по теме:

oxotnik, знаю, поэтому и извинился... ошибся я немного...

0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
08.09.2009, 16:59  [ТС]
WooDoMan,ты имеешь ввиду подставить выделенный столбец в гриде?
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.09.2009, 17:01
Sasha, обрисуй еще раз точно задачу, а то непонятно что надо, толи выделить новую запись, толи ту которая редактировалась
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
08.09.2009, 17:02
Sasha, текущая строка в гриде соответствует таковой же в источнике данных, поэтому обращаясь по средствам метода FieldByName, получаем любое значение текущей записи, которую ты как раз и пытаешься редактировать
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
08.09.2009, 17:13  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("UPDATE Glavnaya SET Invent_Number =:Invent_Number, Number_in_Lan = :Number_in_Lan, Department = :Department, Processor = :Processor, Memory = :Memory, HDD = :HDD, Room = :Room");
ADOQuery1->SQL->Add("WHERE Invent_Number = "ADOQuery1->FieldByName("Invent_Number")->AsString"");
ADOQuery1->Parameters->ParamByName("Number_in_Lan")->Value = Trim(Edit2->Text);
ADOQuery1->Parameters->ParamByName("Department")->Value = Trim(Edit3->Text);
ADOQuery1->Parameters->ParamByName("Processor")->Value = Trim(Edit4->Text);
ADOQuery1->Parameters->ParamByName("Memory")->Value = Trim(Edit5->Text);
ADOQuery1->Parameters->ParamByName("HDD")->Value = Trim(Edit6->Text);
ADOQuery1->Parameters->ParamByName("Room")->Value = Trim(Edit7->Text);
ADOQuery1->Parameters->ParamByName("Invent_Number")->Value = Trim(Edit1->Text);
ADOQuery1->ExecSQL();
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Text ="Select * from Glavnaya ORDER BY Invent_Number";
ADOQuery1->Open();
Тут что-то по синтаксису не правильно потому-что ошибка выводится
0
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
08.09.2009, 17:18
ADOQuery1->SQL->Add("WHERE Invent_Number = " + ADOQuery1->FieldByName("Invent_Number")->AsString);
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
08.09.2009, 17:20
Sasha, ты бы завел для редактирований отдельный запрос
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
08.09.2009, 17:22  [ТС]
Так, а это и есть отдельный запрос.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
08.09.2009, 17:27
AdoQuery1 - для редактирования и AdoQuery1 - для показа в гриде или я что-то в твоем тексте не допонял?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.09.2009, 17:27

Как сделать видимой последнюю добавленную строку в datagrid
Уважаемые Гуру! После добавления строки в viewModel последняя добавленная строка не видима в DataGrid. Как сделать ее видимой? ...

Не сохраняет добавленную строку
Не сохраняет добавление строки. dataset содержит таблицы с четырех адаптеров. После выполнения показывает что счетчик...

Окрасить только что добавленную строку в Datagridview
Добрый день! Добавляю в цикле ряды в Datagridview: foreach (string source in DicListbox.Keys) {...

Отобразить в ListView только что добавленную строку из БД
Здравствуйте! У меня есть на первой форме ListView, который отображает таблицу базы данных. С этой первой формы вызываю вторую форму, с...

Как можно одним запросом редактировать предыдущую строку и добавить новый?
Как можно одним запросом редактировать предыдущую строку и добавить новый? Если можно на примитивных примерах помагите.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru