Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Работа с классом DataEnvinronment Добавлено: 23.05.06 13:19  

Автор вопроса:  Sergey Gaponov | ICQ: 278513301 
Проблема связана с DataEnvinronment

вот код привязки таблицы базы данной к визуальному компоненту на форме
дело в том, что каждый раз вызов (DataEn.T1) разный после точки идет
метод совпадающий с именем таблицы. Но в том то все и дело, что
привязку надо осуществлять к разным таблицам. Я делал такой код к
каждой таблице, но теперь у меня нужно показать визуально много таблиц
и хотелось бы один раз написать код. CallByName не помогает, в
обычных классах работает хорошо а здесь нет.

Option Explicit
Public OBCON As Object 'DataEn.Con имя объекта соединения
Public OBRS As Object 'DataEn.rsVrem имя объекта с таблицей RS
Public OBDBL As Object 'Main.DBLPrais имя грида с формой
Public OBOBTABT As String 'имя метода класса DataEn
Public PUTBAZI As String 'PUTBAZI путь к базе с "\"
Public BAZAZ As String 'NBAZAG имя базы (.mdb)
Public PASSBAZ As String 'PASSBAZ пароль на базу
Public DN As New DataEn

Sub CONNECTN()
'Клас для работы с новым гридом (соединение)
If OBCON.State = adStateOpen Then
Else
   OBCON.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & PUTBAZI & BAZAZ & ";Jet OLEDB:Database
Password='" & PASSBAZ & "';Persist Security Info=False"
End If
    If OBRS.State = adStateOpen Then
      OBRS.Close
      OBCON.Close
      Set OBDBL.Recordset = Nothing
      OBDBL.Refresh
      OBCON.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & PUTBAZI & BAZAZ & ";Jet OLEDB:Database
Password='" & PASSBAZ & "';Persist Security Info=False"
      OBCON.Open
-------вот здесь не могу ничего поделать
     DataEn.T1
----------------------------------------
        Set OBDBL.Recordset = OBRS
        OBDBL.Refresh
    Else
        If OBCON.State = adStateOpen Then
          OBCON.Close
          OBCON.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & PUTBAZI & BAZAZ & ";Jet OLEDB:Database
Password='" & PASSBAZ & "';Persist Security Info=False"
          OBCON.Open
         
          'DataEn.T1
          
          Set OBDBL.Recordset = OBRS
          OBDBL.Refresh
        Else
          OBCON.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & PUTBAZI & BAZAZ & ";Jet OLEDB:Database
Password='" & PASSBAZ & "';Persist Security Info=False"
         DataEn.T1
          Set OBDBL.Recordset = OBRS
          OBDBL.Refresh
        End If
    End If
' Exit Sub
'er_ror:
' MsgBox Err.Number & "/-/" & Error, vbCritical, "Ошибка"
End Sub

Ответить

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

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


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 23.05.06 14:38
йопты...
см. примеры ADO, нафиг у тебя всё As Object?

Ответить

Номер ответа: 2
Автор ответа:
 Sergey Gaponov



ICQ: 278513301 

Вопросов: 27
Ответов: 13
 Профиль | | #2 Добавлено: 23.05.06 20:30
потому что это класс и имена объектов все время разные

Ответить

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


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 23.05.06 21:21
а ну понятно :)))
а когда значит as ado тогда уже разные бысть немогут

Ответить

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



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #4 Добавлено: 24.05.06 11:15
Аццкий Сотона... Танкист!

дело в том, что каждый раз вызов (DataEn.T1) разный после точки идет
метод совпадающий с именем таблицы. Но в том то все и дело, что
привязку надо осуществлять к разным таблицам.

Тебе же по русски сказали почитать про полиморфизм.
Ты че, в самом деле собираешься для каждой новой таблицы добавлять в класс метод? ГыыЫыы, лол...
Напиши один метод, куда как параметр передавай имя таблицы as String - проблемы снимутся автоматически.
А вообще - читать мануалы по ADO и VB.

Ответить

Страница: 1 |

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



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