Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 | 2 |

 

  Вопрос: VB 6, Элемент DataGrid как удалить выбранные строк Добавлено: 30.11.05 10:40  

Автор вопроса:  z3f
есть база на mssql 2000 sp3
в ней есть таблица.
на форме есть присоедененный datagrid который отображает таблицу целиком.
как удалить из базы выбранный элемент?
Нужен кусок любого кода как это сделать...
или ссылки на помощь по работе с datagrid...

в работе с VB 6 я новичок потому и не знаю как работать...

Ответить

  Ответы Всего ответов: 26  

Номер ответа: 1
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #1 Добавлено: 30.11.05 10:48
Удаляете из таблицы в базе. К примеру SQL запросом. Datagrid возможно после этого надо будет Refresh.

Ответить

Номер ответа: 2
Автор ответа:
 z3f



Вопросов: 3
Ответов: 10
 Профиль | | #2 Добавлено: 30.11.05 11:00
А поконкретнее?
дело в том что мне нужно в datagrid определить запись и извлечь из нне данные...
то есть каким образом -
человек щелкает в строке datagrid и после этого жмет кнопку delete...
то есть задача такая - определить на какой записи в данный момент щелкнул чел в datagrid?
как только я смогу определить какая запись в данный момент является текущей - я смогу не только ее удалить (не важно запросом или другим спосообом) но и каким то образом ее изменить и так далее.
так какая функция отвечает за выбранную в datagrid строку или что то типа mydbgrid.selectedrows или что-то в этом духе =(

Ответить

Номер ответа: 3
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #3 Добавлено: 30.11.05 13:36
rst.Delete adAffectCurrent
, где rst - источник данных грида.

Ответить

Номер ответа: 4
Автор ответа:
 z3f



Вопросов: 3
Ответов: 10
 Профиль | | #4 Добавлено: 30.11.05 14:12
Дык это то я знаю - проблема в том что мне нужно в дальнейшем работать с гридом...
то есть мне нужно допустим текущую запись(или запись по которой щелкнул пользователь) редактировать и так далее.
то есть просто удалить перемнную adAffectCurrent - не интересно...

Ответить

Номер ответа: 5
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #5 Добавлено: 30.11.05 16:58
Не вижу проблему до сих пор.

Текущая запись в rst.
msgbox rst!ID, к примеру.

Ответить

Номер ответа: 6
Автор ответа:
 v00j00



ICQ: 249622331 

Вопросов: 0
Ответов: 4
 Профиль | | #6 Добавлено: 01.12.05 08:17
пользователь щелкнул по строке
текущая запись будет:
Adodc1.Recordset

Ответить

Номер ответа: 7
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #7 Добавлено: 01.12.05 09:39
Неужели?
А мне всегда казалось, что рекордсет хранит все записи.

Ответить

Номер ответа: 8
Автор ответа:
 v00j00



ICQ: 249622331 

Вопросов: 0
Ответов: 4
 Профиль | | #8 Добавлено: 01.12.05 10:44
Да он хранит все записи
Но если щелкуть на любую из строк в DataGrid, то он выведит именно эту запись

Ответить

Номер ответа: 9
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #9 Добавлено: 01.12.05 16:52
Тогда в чём ценность ответа № 6 ввиду наличия ответа № 5?

Ответить

Номер ответа: 10
Автор ответа:
 v00j00



ICQ: 249622331 

Вопросов: 0
Ответов: 4
 Профиль | | #10 Добавлено: 02.12.05 08:03
В том что нужно брать именно Adodc1.Recordset, а не какой-нибудь другой.

Ответить

Номер ответа: 11
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #11 Добавлено: 02.12.05 09:12
А откуда такая уверенность в том, что идёт работа через контрол ADODC?
Я, например, никогда не использую ADODC, ибо лажа.

Ответить

Номер ответа: 12
Автор ответа:
 z3f



Вопросов: 3
Ответов: 10
 Профиль | | #12 Добавлено: 06.12.05 10:42
Source:
msgbox rst!ID, vbOkonly

Error:
Run-Time Error '3665'
Item can't be found in the collection corresponding to the requested name or ordinal

И что после этого делать?

А задача теперь сведась к следующему
есть DBGRID в нем нарисована база.
Нужно удалить текущую выделенную строчку и из грида и из базы.
из базы прийлдется делать через ж..у.
Ж..а выглядит так
нужно удаляемую строчку ввести в отделный рекордсет...
сделать так
rsDelete = rsCurrent.Delete AdAffectCurrent
не получается...
как ввести тукущую строчку в отдельный рекордсет?

Ответить

Номер ответа: 13
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #13 Добавлено: 06.12.05 16:52
И что после этого делать?

Трудно сказать.
Если я показываю, как вычисляется 2+2, а ты потом спрашиваешь, как вычислить 3+3, то я не знаю, что сказать.
ID - имя поля.
У тебя его нет.
Подставь то, которое у тебя есть и которое ты используешь для идентификации строки.

нужно удаляемую строчку ввести в отделный рекордсет...

Зачем?

Ответить

Номер ответа: 14
Автор ответа:
 z3f



Вопросов: 3
Ответов: 10
 Профиль | | #14 Добавлено: 06.12.05 18:50
Зачем?


так надо (к сожалению)...
и как это сделать?

ID - имя поля.

может я совесм отупел - но имя какого поля?
откуда я возьму имя поля?
имя солбца? - дык оно мне не нужно.
имя строки? то есть мне по rs.fields(0) можно организовать без всяких проблем =(

Ответить

Номер ответа: 15
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #15 Добавлено: 06.12.05 22:23
Если я показываю, как вычисляется 2+2, а ты потом спрашиваешь, как вычислить 3+3,

Гы... Теперь про 1+1 раскажи. :)))

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам