Гедымин как COM сервер

Материал из GedeminWiki
Перейти к: навигация, поиск

Ниже приведен пример процедуры для Microsoft Excel. В результате ее выполнения первая колонка на первом рабочем листе будет заполнена наименованиями контактов из базы данных. Не забудьте прописать правильный путь к базе данных, имя пользователя и пароль.

Sub LoadContacts()
  Dim Gedemin, Obj, UserName, UserPassword, DatabaseName, Counter
 
  UserName = "имя_пользователя"
  UserPassword = "пароль_пользователя"
  DatabaseName = "строка_подключения_к_базе_данных"
 
  Set Gedemin = CreateObject("Gedemin.gsGedeminApplication")
  If Gedemin.LoginSilent(UserName, UserPassword, DatabaseName) Then    
    Set Obj = Gedemin.Designer.CreateObject(Null, "TgdcContact", "")
    Obj.Open  
    Counter = 1
    Do While Not Obj.EOF
      If Counter > 1000 Then Exit Do
      Counter = Counter + 1
      Worksheets(1).Cells(Counter, 1).Value = Obj.FieldByName("name").AsString
      Obj.Next
    Loop
    Gedemin.Designer.DestroyObject(Obj)
  Else
    MsgBox "Невозможно подключиться к базе данных!"
  End If
End Sub

Тоже самое, но с обращением к базе данных не через бизнес-объект, а с помощью прямого SQL запроса:

Sub LoadContacts2()
  Dim Gedemin, ibsql, UserName, UserPassword, DatabaseName, Counter
 
  UserName = "имя_пользователя"
  UserPassword = "пароль_пользователя"
  DatabaseName = "строка_подключения_к_базе_данных"
 
  Set Gedemin = CreateObject("Gedemin.gsGedeminApplication")
  If Gedemin.LoginSilent(UserName, UserPassword, DatabaseName) Then    
    Set ibsql = Gedemin.Designer.CreateObject(Null, "TIBSQL", "")
    ibsql.Transaction = Gedemin.gdcBaseManager.ReadTransaction
    ibsql.Sql.Text = "SELECT name FROM gd_contact"
    ibsql.ExecQuery
    Counter = 1
    Do While Not ibsql.EOF
      If Counter > 1000 Then Exit Do
      Counter = Counter + 1
      Worksheets(1).Cells(Counter, 1).Value = ibsql.Fields(0).AsString
      ibsql.Next
    Loop
    Gedemin.Designer.DestroyObject(ibsql)
  Else
    MsgBox "Невозможно подключиться к базе данных!"
  End If
End Sub
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты