Имя: Пароль:
1C
1C 7.7
v7: Кто работал с Adodb ? как менять значения записей recordset
,
0 Капюшон
 
27.02.12
22:12
Считывать записи из таблицы базы данных, подключенной при помощи Adodb знаю как. А как в каждую запись вносить изменения? Вот Вот скрипт показывающий считку:
   commandText = "SELECT *
   |FROM VIEW_1C_ALL_COMPANY";
   
   тзКонтрагентов.УдалитьСтроки();
   
   command =СоздатьОбъект("ADODB.Command");
   command.ActiveConnection = Connection;
   command.CommandText =commandText;        
   command.Execute();                        
   
   RecordSet = Command.Execute();
   Пока RecordSet.Eof() = 0 Цикл
       
       тзКонтрагентов.НоваяСтрока();
       тзКонтрагентов.CODE_1C=RecordSet.Fields("CODE_1C").Value;
       тзКонтрагентов.COMPANY_NAME=RecordSet.Fields("COMPANY_NAME").Value;


Но как изменять записи в цикле или только при помощи запросов можно? и вообще возможно ли работая с базой по такой технологии, менять что-нибудь?
1 Amra
 
27.02.12
22:14
ну и каша у тебя в голове...
2 Капюшон
 
27.02.12
22:16
(1)почему же? я всего лишь не знаю ответ на один вопрос можно ли менять данные обращаясь к базе данных таким способом и разрешается ли запись при помощи запросов
3 Капюшон
 
27.02.12
22:17
(1)а ну понял вас. вы хотите сказать что раз rs - это уже результат запроса то ничего не изменить и можно изменить только запросом.
4 Amra
 
27.02.12
22:18
(3) верно. селект - это выборка. чтобы чтото изменить в данных выборки используется тоже запрос, но не селект, а апдейт
5 КМ155
 
27.02.12
22:25
(3) меняй, какие проблемы
у рекордсета есть методы Addnew, Edit  и Update
6 КМ155
 
27.02.12
22:26
(4)[чтобы чтото изменить в данных выборки используется тоже запрос, но не селект, а апдейт]
для общего развития:
mystr = "select * from TAmbar where Ambar_Id = " & Me![Sp_Ambar].Column(0)
    Set MyRst = MyDB.OpenRecordset(mystr)
    If MyRst.RecordCount <> 0 Then
          With MyRst
          .Edit
       ![Ambar_Tip] = Me![Ps_Tip]
       ![Ambar_Label] = (Trans_My(Me![P_Label]))
       ![Ambar_Date] = Trans_Date(Me![P_Date])
       ![Ambar_Dir] = (Trans_My(Me![P_Dir]))
       ![Ambar_Path] = (Trans_My(Me![P_Path]))
       ![Ambar_Ist] = (Trans_My(Me![P_Ist]))
       ![Ambar_Name] = Me![P_Name]
       ![Ambar_Kod] = Me![P_Kod]
       ![Ambar_Mesto] = Me![Ps_Mesto]
       ![Ambar_Vid] = Me![Ps_Vid]
          .Update
          End With
     End If
7 andrewks
 
27.02.12
22:27
8 Amra
 
27.02.12
22:47
(6) И? Что я не так сказал то?
9 КМ155
 
27.02.12
22:48
(8) [чтобы чтото изменить в данных выборки используется тоже запрос, но не селект, а апдейт]
всё не то
10 Amra
 
27.02.12
23:17
(9) Гонишь. Ибо как минимум тупой апдейт прокатывает