powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / удаление текущей записи
25 сообщений из 34, страница 1 из 2
удаление текущей записи
    #34618620
worin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу понять как можно удалять текущую запись из таблицы с помощью sql-запроса. Пишу "Delete from kopkompzav where nomkompzav= nomkompzav" а происходит удаление всех записей. Как мне удалить текущую запись?
...
Рейтинг: 0 / 0
удаление текущей записи
    #34618642
__Jet__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
Пишу "Delete from kopkompzav where nomkompzav= nomkompzav" а происходит удаление всех записей.


Так nomkompzav текущей записи = nomkompzav той же самой текущей записи, поэтому все и грохается.

А нет там какого-н поля с уникальным значением, чтобы привязаться?
Наверное нет, а то бы и сами решили бы как.
...
Рейтинг: 0 / 0
удаление текущей записи
    #34618671
worin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня nomkompzav как раз с уникальными значениями у меня оно автоинкрементное так что мне делать в этом случае как к нему привязать?
...
Рейтинг: 0 / 0
удаление текущей записи
    #34618707
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитай вот эту книжку. Когда прочитаешь, прийдешь еще раз.
http://sql.ru/docs/sql/u_sql/index.shtml
Твои вопросы к С++ не относятся даже отдаленно.
...
Рейтинг: 0 / 0
удаление текущей записи
    #34618712
worin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 White Owl я знаю как удалить запись, например "Delete from kopkompzav where nomkompzav=2", но в этом случае я удаляю запись номер 2, я не знаю как мне удалить текущую запись, то есть что мне нужно написать вместо 2?
...
Рейтинг: 0 / 0
удаление текущей записи
    #34618714
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
worin2 White Owl я знаю как удалить запись, например "Delete from kopkompzav where nomkompzav=2", но в этом случае я удаляю запись номер 2, я не знаю как мне удалить текущую запись, то есть что мне нужно написать вместо 2?Прочитай книжку, @#%%%#$!
НЕ СУЩЕСТВУЕТ ТЕКУЩЕЙ ЗАПИСИ В ТАБЛИЦЕ!
...
Рейтинг: 0 / 0
удаление текущей записи
    #34618721
worin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. нельзя удалить выделенную запись? В Accesse можно так:dbs.Execute "DELETE * FROM [1-Мои книги] WHERE [Книга]='" & frm!Книга & "'", а в Билдере наподобие что-нибудь можно?
...
Рейтинг: 0 / 0
удаление текущей записи
    #34618787
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в билдере можно фсе :)
а по сути вопроса грохай по айдишкику если ты конечно его имеешь в табличке
...
Рейтинг: 0 / 0
удаление текущей записи
    #34618988
worin2 White Owl я знаю как удалить запись, например "Delete from kopkompzav where nomkompzav=2", но в этом случае я удаляю запись номер 2, я не знаю как мне удалить текущую запись, то есть что мне нужно написать вместо 2?

Все очень просто:
1. Сохраняем значение поля nomcompzav в переменную.
2. подставляем сохраненное значение в выражение для удаления...
...
Рейтинг: 0 / 0
удаление текущей записи
    #34618993
worinТ.е. нельзя удалить выделенную запись? В Accesse можно так:dbs.Execute "DELETE * FROM [1-Мои книги] WHERE [Книга]='" & frm!Книга & "'", а в Билдере наподобие что-нибудь можно?
можно. Называется "динамический SQL" (строка сначала формируется в переменной, а затем передается для выполнения). Ну, можно еще через параметризованные запросы...
...
Рейтинг: 0 / 0
удаление текущей записи
    #34619001
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С...кийНу, можно еще через параметризованные запросыкак раз наоборот.
НУЖНО через переметризованные запросы, но в некоторых случаях можно и построением текста
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
удаление текущей записи
    #34619571
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
worin пишет:
> Не могу понять как можно удалять текущую запись из таблицы с помощью
> sql-запроса. Пишу "Delete from kopkompzav where nomkompzav= nomkompzav"
> а происходит удаление всех записей. Как мне удалить текущую запись?

В каждой таблице должен быть первичный ключ (primary key, PK).
Для того чтобы оперировать данными таблицы, на клиенте должны быть
известны значения всех полей ключа каждой записи.

Для удаления записи нужно выполнить запрос типа такого :

DELETE FROM kopkompzav where <поле PK 1> = <значение поля PK 1>
and <поле PK 2> = <значение поля PK 2>
....

где
<поле PK i> - имя i-го поля PK
<значение поля PK i> - значение i-го поля PK из удаляемой записи.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
удаление текущей записи
    #34619607
worin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за ответы, но не могли бы привести пример удаления, а то никак не соображу как это сделать?
...
Рейтинг: 0 / 0
удаление текущей записи
    #34619893
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно попробовать коцнуть запись используя параметр по умолчанию, хотя это не очень верный наверно метод. но попробуйте так:
Код: plaintext
delete form imja_tablici where id_table = :id_table
...
Рейтинг: 0 / 0
удаление текущей записи
    #34619994
worin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я так пробовал не получается ничего не происходит может как-то по другому через параметр?
...
Рейтинг: 0 / 0
удаление текущей записи
    #34620065
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
...
Query1->SQL->Add("delete form imja_tablici where id_table = :ID");
Query1->Params->ParamValues["ID"] =  2 ;
Query1->ExecSQL();
???
...
Рейтинг: 0 / 0
удаление текущей записи
    #34620390
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может без всякого запроса:

Query1->Delete();

где Query1 - тот самый набор данных, что отображен в таблице
...
Рейтинг: 0 / 0
удаление текущей записи
    #34620443
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SnowMan2А может без всякого запроса:

Query1->Delete();

где Query1 - тот самый набор данных, что отображен в таблице
кстати да. хороший вариант и без гемора
...
Рейтинг: 0 / 0
удаление текущей записи
    #34620502
worin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через Query->Delete это конечно хорошо, но что в этом случае делать если у меня таблица содержит одинаковые строки? в этом случае происходит ошибка:Multiple records found, but only one was expected. Может как-нибудь можно отключить, чтобы таблица содержала одинаковые записи?
...
Рейтинг: 0 / 0
удаление текущей записи
    #34620525
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя же там автоинкриментное поле. Откуда повторяюшиеся записи?
...
Рейтинг: 0 / 0
удаление текущей записи
    #34620543
worin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эта уже новая таблица, куда переносятся данные из предыдущей и пользователь может нечаянно скопировать строку 2 раза в новую таблицу, вот в этом случае и появляются 2 одинаковые строки так что можно сделать в этом случае?
...
Рейтинг: 0 / 0
удаление текущей записи
    #34620629
SnowMan2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подумать над заведением там автоинкриментного поля.
...
Рейтинг: 0 / 0
удаление текущей записи
    #34620708
worin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так автоинкремент в этом случае не поможет, пользователь по нажатию кнопки копирует данные из таблицы в таблицу и он может нажать просто кнопку 2 раза и получится в новой таблице 2 одинаковые записи
...
Рейтинг: 0 / 0
удаление текущей записи
    #34620728
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если будет автоинкремент то те 2 уже не одинаковые! у них будет различатся автоинкрементируемое поле на как минимум на 1
...
Рейтинг: 0 / 0
удаление текущей записи
    #34620777
worin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет ну я же копирую из таблицы с автоинкрементом полную строку, то есть если копировать в новую таблицу 2 одинаковые строки то они то будут одинаковые и номера будут одинаковые, номер же не изменяется, когда копируешь
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / удаление текущей записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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