Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для Kerrix1987
82 / 39 / 1
Регистрация: 19.10.2011
Сообщений: 322

Очистка БД от всех записей

06.05.2012, 15:20. Показов 1279. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Ситуация следующая. Есть база, в ней 4 таблицы. Нужно по нажатию на кнопку "Удаление", чтобы выдавался Msgbox с соответствующим предупреждением, и возможностью отменить действие. Сейчас у меня следующий код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub ClearBD_Click()
MsgBox "Вы действительно хотите удалить все записи в БД? Убедитесь, что у Вас есть архивная копия БД.", vbExclamation + vbOKCancel, "Внимание!!!"
If vbCancel Then
Form3.Show
End If
If vbOK Then
DataEnvironment1.rsTableAkss.Delete adAffectAll
DataEnvironment1.rsTableAudio.Delete adAffectAll
DataEnvironment1.rsTableInstr.Delete adAffectAll
DataEnvironment1.rsTableLight.Delete adAffectAll
DataEnvironment1.rsTableAkss.Update
DataEnvironment1.rsTableAudio.Update
DataEnvironment1.rsTableInstr.Update
DataEnvironment1.rsTableLight.Update
Form3.DataGrid1.Refresh
End If
End Sub
Но видимо я где то допустил косячок: нажимаешь отмена, все в порядке, база целая, нажимаешь ок - тоже все в порядке, записи не удаляются поделитесь опытом пожалуйста
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.05.2012, 15:20
Ответы с готовыми решениями:

Объединение всех записей слева и всех записей справа
Таблица1 Поле1 Поле2 Иванов 1 Петров 2

Очистка записей из ADOTable и последующая вставка записей в эту же ADOTable
Очищает ADOItogAnt: void __fastcall TForm1::Button18Click(TObject *Sender) { ADOItogAnt->Edit(); while(!ADOItogAnt->Eof) { ...

Очистка Grid-а от записей для осуществления фильтрации
Помогите заведомо очистить Grid от записей, чтобы осуществить фильтрацию.

4
Заблокирован
06.05.2012, 16:41
Модуль

Visual Basic
1
Public codL As Integer
Кнопка

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
If Data1.Recordset.RecordCount = 0 Then Exit Sub
        nam$ = Data1.Recordset.Fields("КЛИЕНТ").Value
        codL = Data1.Recordset.Fields("КОД").Value
        g = MsgBox("Хотите удалить запись?" & vbCrLf & "У Вас есть резервная копия?", vbInformation + vbYesNo, "Удаление записей")
            If g = 6 Then
        Data2.RecordSource = "select * from [ИМЯ ТАБЛИЦЫ]"
        Data2.Refresh
        Data2.Recordset.FindFirst ("[Код] = " & codL)
        Data2.Recordset.Delete
        Data2.Recordset.MoveNext
        Call refrash_data
            If Data1.Recordset.RecordCount = 0 Then
        mnuEdit.Enabled = False
        mnuDelThis.Enabled = False
            Else
        mnuEdit.Enabled = True
        mnuDelThis.Enabled = True
            End If
        End If
Это удаление одной записи. А вообще можно использовать простой метод, то есть узнаем кол-во записей в базе. Код выше, только через цикл.

В примере происходит удаление по найденным значениям из базы "Код", оно уникальное и имеется во всех базах как счетчик.

По твоему коду примерно:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub ClearBD_Click()
g = MsgBox("Вы действительно хотите удалить все записи в БД" & vbCrLf & "Убедитесь, что у Вас есть архивная копия БД", vbInformation + vbYesNo, "Внимание!!!")
            If g = 6 Then
DataEnvironment1.rsTableAkss.Delete adAffectAll
DataEnvironment1.rsTableAudio.Delete adAffectAll
DataEnvironment1.rsTableInstr.Delete adAffectAll
DataEnvironment1.rsTableLight.Delete adAffectAll
DataEnvironment1.rsTableAkss.Update
DataEnvironment1.rsTableAudio.Update
DataEnvironment1.rsTableInstr.Update
DataEnvironment1.rsTableLight.Update
Form3.DataGrid1.Refresh
Form3.Show
 
Else 
 
Exit Sub
 
End If
End Sub
Скинь исходник. В личку ссылку пришли на него скачаю исправлю.

Добавлено через 24 минуты
И вообще нафига ты так сложно строишь работу с базой. Причем тут вообще: DataEnvironment1.rsTableInstr насколько я знаю сейчас проще работать напрямую через подключение Data или MSADODC.OCX и если даже ты выводишь отчеты через базу, сейчас еще стало модным делать выгрузку в Excel или Word.
1
06.05.2012, 16:49  [ТС]

Не по теме:

да мне как то привычнее и удобнее с dataenvironment

0
Заблокирован
06.05.2012, 16:50
Цитата Сообщение от Kerrix1987 Посмотреть сообщение

Не по теме:

да мне как то привычнее и удобнее с dataenvironment

Код писал по Data, попробуй переделай по себя, вообще правильный.
1
 Аватар для Kerrix1987
82 / 39 / 1
Регистрация: 19.10.2011
Сообщений: 322
06.05.2012, 16:51  [ТС]
вот исходник
Вложения
Тип файла: rar SvetoMuz.rar (213.0 Кб, 10 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.05.2012, 16:51
Помогаю со студенческими работами здесь

Очистка базы данных от записей, помеченных на удаление
Как очистить базу данных от помеченных на удаление записей?

Из всех записей вывод записей с сегодняшней датой
sql запрос который из всех дат выбирает сегодняшнюю к примеру столбец дат: 27.11.2018 |День рождения Иванова 25.10.2018 |День...

Удаление всех записей из DataGridView и добавление записей
Всем доброго времени суток. Столкнулся со следующей проблемой: написал код на удаление строк DataGridView. Строки удаляет но не все, а...

Очистка всех значений
Написал программу в GUI. необходимо сделать кнопку очистить, которая очистит всё, что хранится в handles. как это сделать? Добавлено...

Очистка всех memo и Edit'ov
Есть форма. На ней есть около 20 элементов с полями для вывода данных. Как сделать так, что бы по нажатию кнопки Обсалютно все элементы...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru