Как удалить запись из БД?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Nikolka
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 174
Зарегистрирован: 01.01.2004 (Чт) 2:06

Как удалить запись из БД?

Сообщение Nikolka » 16.03.2005 (Ср) 1:35

А если более точно - вот говорят, что в БД мона строки привязать к цифрам и мол, удаляешь строку, а все остальные цифры не смещаются. Т.е.:

(до удаления - записи)
1
2
3
4
5

(после удаления в простом режиме)
1
2
3
4

(после удаления как мне нужно)
1
2
3
5

Или хотябы как вааще удалить запись.

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 16.03.2005 (Ср) 8:09

вопрос, конечно, не в том форуме... ну да ладно.
лично я не буду давать готовых решений, так как автор вопроса, судя по самому вопросу, в вопросе совершенно не разбирается (извините за... ну вы поняли за что :) ).
я лучше дам ему пару-тройку ссылок для изучения:
Глава 16. Основы баз данных
Глава 17. Управление данными
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 16.03.2005 (Ср) 10:58

Можно удалить через запрос (пример с DAO для access).
Код: Выделить всё
set db=opendatabase("c:\путь_к_базе\имя_базы.mdb",false)
запрос="delete from имя_таблицы where имя_поля=4;"
set rs=db.openrecordset(запрос)
rs.close
db.close

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.03.2005 (Ср) 11:14

Зачем DELETE в рекордсет? db.Execute "delete ..."
Lasciate ogni speranza, voi ch'entrate.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 16.03.2005 (Ср) 13:03

to Alibek: согласен :D , твой вариант рациональнее.

Nikolka
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 174
Зарегистрирован: 01.01.2004 (Чт) 2:06

Сообщение Nikolka » 16.03.2005 (Ср) 20:09

Я чесна признаюсь, что в БД полный (не не ПЭ) ламер. Основы работы через Data Control знаю и пока мне этого хватало... :roll:

Nikolka
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 174
Зарегистрирован: 01.01.2004 (Чт) 2:06

Сообщение Nikolka » 16.03.2005 (Ср) 20:14

А как это можно сделать через Data? А то ета, в ссылке - ADO. А мне это сейчас никак не вписывается... Обычная Data, обычная Jet...

если можно.

VAC
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 03.03.2002 (Вс) 3:32
Откуда: Russia

Сообщение VAC » 18.03.2005 (Пт) 13:45

Все очень просто...

Код: Выделить всё
dim SQL

sub main()

SQL = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=твоя_база.mdb;Persist Security Info=False"

Recod_for_delete = 4

if DeleteRecord(Recod_for_delete) then
msgbox "Запрос выполнен успешно. id=" & Recod_for_delete
else
msgbox "Ошибка при выполнении запроса. id=" & Recod_for_delete
end if

end sub

function DeleteRecord(id) as boolean
on error goto err1
Set con = CreateObject("ADODB.Connection")
  con.CommandTimeout = 10
  con.Open SQL


con.execute "delete from твоя_таблица where (поле_счетчик = " & id & ")"


con.Close
Set con = Nothing
DeleteRecord = true
exit function
err1:
DeleteRecord = false

end function


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29

    TopList